Every now and then when I review code, I see developers write code that does not conform to the basis OO design principles and this eventually make it difficult to understand, maintain, extend blah blah..... Basically its just keeps on adding a layer of un-necessary complexity that you have to deal with. So what do you do? I guess you end-up refactoring the code( Did I said, I love refactoring? Yahooooooooooo) following basic principles and design patterns, this takes time and effort so why not try to do it right in the first place.
So I thought I would capture these principles and have the developers understand and follow it their future development. These are time tested principles that one should not shy from applying at the very beginning. So think and design and then code but not just code.
* Click to open in full size.
Hope these helps. More later...