SRP(Single Responsibility Principle)
OCP(Open-Closed Principle)
LSP(Liskov Substitution Principle)
ISP(Interface Segregation Principle)
DIP(Dependency Inversion Principle)