The previous post mentioned the ‘7 deadly sins’ of OO design and this post lists the principles that will lead to a better OO design. Its taken from the same “OO Primer (Object Oriented Principles Explained)” by Arnon Rotem-Gal-Oz. You can use http://www.rgoarchitects.com/files/ooprimer.pdf for the complete article.
Protected Variation/Open Closed Principle
Cohesion–Single Responsibility Principle
Interface Segregation principle
Dependency Inversion principle
Inversion Of Control
Design-by-Contract/Liskov substitution principle