SOLID Design Principle
If you are programming in OOP, you should know about SOLID Design Principal.
SRP – Single Responsibility Principle [my post]
OCP – Open Closed Principle
LSP – Liskov Substitution Principle
ISP – Interface Segregation Principle
DIP – Dependency Inversion Principle
If you are not sure or have not heard of SOLID Design Principal,the following is a list of resources which you will find it useful.