First, a quick recap: the SOLID principles of object oriented design are, to quote Uncle Bob: The Single Responsibility Principle A class should have one, and only one, reason to change. The Open Closed Principle You should be able to extend a classes behavior, without modifying it. The Liskov Substitution Principle Derived classes must be substitutable for their base classes. The Interface Segregation Principle Make fine grained interfaces that are.. Read More