I got into an interesting discussion about SOLID principles with a fellow developer today, and it got me to thinking about a common problem I’ve seen come up and I wanted to try and touch on it.
My wife recently asked me to work on a site for our son’s class and while working on it I realized that what I was building was a pretty great example of my thoughts on how I feel that Models and ViewModels relate to each other.
I saved Single Responsibility Principle (SRP) for last. I think it’s the most important principle to unhttp://josephbulger.com/wp-admin/post.php?post=738&action=edit&message=10derstand and to utilize correctly. I would even go so far as to say it’s the most important principle to follow.
So you’re team now has time to learn, and some of them (if not all), are taking advantage of that. How do you get them to be self-organizing? That’s where you start pushing responsibilities onto your team.
Dependency Inversion Principle has a dramatic effect on your code base. It has the potential to decouple your code in ways that you never would have thought possible before. Using a good IoC container can make all the difference as well.
So how do you know if your team is in choas? Actually, most teams are in the chaos stage. Learning to identify when a team has gotten into chaos isn’t really that hard if you follow some simple guidelines, though.
Interface Segregation Principle (ISP), focuses on the idea that it’s better to have many small specific interfaces that define one concept, then to have one big contract that encompasses many concepts in one.
