solid principles
1.0.0
단일 책임 원칙 - 클래스에는 변경 이유가 하나만 있어야 합니다.
개방형/폐쇄형 원칙 - 소프트웨어 엔터티는 확장에는 개방적이고 수정에는 폐쇄되어야 합니다.
Liskov 대체 원칙 - 하위 클래스는 상위 클래스 유형 정의를 위반해서는 안 됩니다.
인터페이스 분리 원칙 - 클라이언트가 사용하지 않는 메서드에 종속되도록 강요해서는 안 됩니다. 종속 클래스에 표시되는 인터페이스의 멤버 수는 최소화되어야 합니다. 대형 클래스는 사용법에 따라 기능을 그룹화하는 여러 개의 작은 인터페이스를 구현합니다.
종속성 역전 원칙 - 상위 수준 모듈은 하위 수준 모듈에 종속되어서는 안 됩니다. 둘 다 추상화에 의존해야 합니다. 추상화는 세부사항에 의존해서는 안 됩니다.