Along comes these series of articles from Abby Fichtner that I stumbled upon last night.
And although there's more to emergent design than Bob Martins SOLID principles I think these articles make an excellent starting point for a deeper discussion of the subject.
- SOLID Code with Emergent Design - Part 1
- SOLID Code with Emergent Design - Gimme an S
- SOLID Code with Emergent Design - O, I get it
- SOLID Code with Emergent Design - The L
- SOLID Code with Emergent Design - The Other ISP
- SOLID Code with Emergent Design - The Final Chapter
Cheerio
MM
1 comment:
Wow, thanks for the links!
Those posts were based heavily on a talk Bob Martin did at SD East a couple years ago, where he really emphasized the fact that the goal isn't to design everything out in perfect, 100% accordance with the SOLID Principles, but rather that we use these principles to help us emerge the code in an intelligent way.
So, for example, if we created an interface for every-class-we-ever-wrote, well that's a god-awful lot of interfaces. And I know we've all worked in systems that went a little pattern crazy - creating so many classes "just in case" that in trying to be more maintainable they actually can end up more confusing to work on.
So let's instead just create interfaces as we find we need multiple implementations of a concept.
It just really stuck with me as a great paradigm for emergent design.
Really looking forward to hearing other's ideas around this concept!
Post a Comment