Enterprise OO Garbage is alive and well.
Enterprise OO Garbage is alive and well.
And if there are multiple types of "SerializationProvider" (ie. there's an unrelated "CachingSerializationProvider ") then the name is unfortunately long, but accurate
The next guy who work on your code will be happy to have variable and class names longer than 3 characters. Short names are evil.
It's simply a verbose name.
You need some data structure to combine the functionality for serializing and deserializing, and you then need some function that can, depending on context, choose the correct such data structure.
And now you've got your transportprotocolserializer, transportprotocolserializerprovider, and transportprotocolserializerproviderfactory
Even in Haskell or Scheme you'd end up with the same data structures and functions, one that does TransportProtocolEnum -> TransportProtocol, one TransportProtocol -> Data -> SerializedData, and one TransportProtocol -> SerializedData -> Data.
If you want to allow at runtime configuration of the transport protocol of each service, you still need the same structures and functions.
Or how else would you implement it?
No, you cannot, since you want to dispatch to components that you don't even know of (pulled in via class path or extension DLLs). Components that have not yet been written and will be provided by another team or 3rd party and never compiled in, but just added to the extension directory of the application.
It's getting a bit tiring hearing cargo cult JS developers talk the talk, but walking backwards in their blissful stench of second level ignorance.
Protobuf-Transportprotokolserienvorrichter
ProtopufSendeVorschriftLeitungsangebot
VorlaufÜbertragungsDienstLeitungsDienstleister
what's wrong with pbtpsp anyway?They could've called it ProtobufSerializer or ProtobufProvider.