In my experience, it is easy to find an agreement on this line of reasoning among developers. But when this is turned into practice, it turns out that there were about as many takes on this as developers in the room.
Some takes I’ve seen regarding what is discussed here specifically:
- class
- Object literal -> class
- Object literal -> factory -> class -> … -> anything functional
The recurring theme seems to be that “anything functional” seems either seems to be missing or being seen as more complex than the alternatives. I suppose what is happening here is that complexity is being judged by familiarity. I think the main issue might be an inexperience in the composition way of thinking. Combined with extensive experience in the object oriented way of thinking.
To me, during the “Composing Software” series it would be valuable not only to understand the concepts, but also how to get other developers to invest in them.
