SRP(Single Responsibility Principle)

OCP(Open-Closed Principle)

LSP(Liskov Substitution Principle)

ISP(Interface Segregation Principle)

DIP(Dependency Inversion Principle)