SOLID - OO Design Guideline


Single responsibility principle
Open/closed principle
Liskov substitution principle
Interface segregation principle
Dependency inversion principle

https://en.wikipedia.org/wiki/SOLID_%28object-oriented_design%29