3 ms·
I thought this was great: > We propose instead that one begins with a list of difficult design decisions or design decisions which are likely to change. Each m
by doctor_eval 5y ago
I thought this was great:
> We propose instead that one begins with a list of difficult design decisions or design decisions which are likely to change. Each module is then designed to hide such a decision from the others.
SRP has always confused me even though (in retrospect) this is certainly how my designs work.
I disagree with those who say it’s a bad principle, but maybe we can come up with a succinct name that expresses the idea better?
FWIW, I tend to think that hiding design decisions is the purpose of bounded contexts. But I don’t think that’s a great term either, due to all the context required to understand it (no pun intended)
- pjmorris 5y agoSpitballing here, 'Single Decision Principle?' How about 'Don't Ask Me How?'
- doctor_eval 5y agoMaybe “single design principle” or “abstraction principle”? (I have for a while felt that abstraction at the class level is very much overrated, while abstraction at the system level tends to be glossed over. This has lead me to enjoy building systems with microservices. Because the interfaces tend to be dictated by the external systems that use the service, but the guts of a service can and do change dramatically.)