단일 책임 원칙 (Single Responsibility Principle)

개방폐쇄의 원칙 (Open Close Principle)

리스코브 치환의 원칙 (The Liskov Substitution Principle)

인터페이스 분리의 원칙 (Interface Segregation Principle)

의존성역전의 원칙 (Dependency Inversion Principle)