Another fundemental principle of object-oriented software design is the Open-Closed Principle. According to Uncle Bob (Robert Martin), this principle states that: Software entities (classes, modules, functions, etc.) should beopen for extension, but closed for modification. Essentially, what this means is that software’s design should be such that it’s behavior can be modified by extending the… Read More


SRP is one of the fundamental object oriented software design principles, first introduced by Tom DeMarco in 1979. In simple terms, SRP states that every class should have a single well defined goal, and that all members of that class (properties, methods, etc.) should work together to achieve that goal. Robert Martin puts it in… Read More