2 ms·
If the objection is to hidden state and behavior that can't be entirely predicted from the outside by inspection of public properties it feels to me like your o
by yodon 5y ago
If the objection is to hidden state and behavior that can't be entirely predicted from the outside by inspection of public properties it feels to me like your objection is less about OOP and more about abstractions in general. I'm sure you've thought about this already and have strong opinions here, so please read this as me engaging in a conversation rather than me trying to lecture.
The value of abstractions is the consumer doesn't need to understand the mechanism inside the abstraction, and the downside of abstractions is the consumer doesn't get to understand the mechanism inside the abstraction.
If one always expects to be able to see through the veil, I think one is in effect saying I won't allow abstractions. That's powerful when the size of the system is such that it can be understood in its entirety, but it's punishing when the size is orders of magnitude larger than can be understood completely without abstractions by one person.
Actors, at least from my experience, are a helpful way to merge the abstractions of OOP and Services, but by default they are not intended to rid systems of abstractions.