Recently I was reading books about Object Oriented design and analysis to refresh my designing skills. While doing that I came across few interesting design principles, I hope these will be helpful to new developers/designers
  1. Identify the aspects of your application that vary and separate them from whats stays the same.
  2. Program to an Interface, not an implementation.
  3. Favor composition over inheritance.
  4. Strive for loosely coupled designs between objects that interact.
  5. Classes should be open for extension, but closed for modification.
  6. Depend on abstractions. Do not depend on concrete class.
  7. Talk only to your Immediate friends - Principle of least knowledge.

Related Posts


Maneesh Chaturvedi said...

Seems like you got hold of Object Oriented Software Construction .. A timeless masterpiece by Bertrand Meyer. You should also look at Eiffel, an OO language based on Design by Contract

Post a Comment