The SOLID principle
Single responsibility principle
Open/closed principle
Liskov's substitution principle
Interface segregation principle