Dependency Inversion Principle
Interface Segregation Principle
Liskov Substitution Principle
The Open-Closed Principle
The Single Responsibility Principle