SOLID
Single Responsibility Principle (SRP) 단일책임의 원리로 모든 객체는 하나의 책임을 가진다. 하나의 클래스가 너무 많은 일을 하고 있다면 수정, 가독성이 어렵다. Open Closed Principle (OCP) 클래시는 수정에는 닫혀있고, 확장에는 열려있다. Liskov Substitution Principle (LSP) 자식 타입들은 부모타입들이 사용되는 곳에 대체될 수 있어야한다. 상속보다는 위임, 구성, 집합을 사용하면 소프트웨어는 더 유연하고, 유지보 수성, 확장성, 재사용성이 좋아진다. Interface segregation principle (ISP) 많은 클라이언트 고유의 인터페이스는 하나의 범용 인터페이스보다 우수하다. 인터페이스 분리의 원칙 Dependenc..