도서 리뷰/마이크로서비스패턴
[마이크로서비스패턴] 번외. 패키지 설계 시 지켜야할 객체 지향 설계 원칙 11가지를 알아보자.
illlilillil
2022. 9. 14. 20:43
SRP
클래스 변경의 이유는 하나여야만 한다.
OCP
클래스 동작을 수정하지 않고 확장할 수 있어야 한다.(
LSP
하위 클래스는 상위 클래스로 대체가 가능해야 한다
ISP
기능별로 세밀하게 인터페이스로 분리되어야 한다.
DIP
구현체가 아닌 추상객체에 의존되어야 한다.
REP - The Release Reuse Equivalency Principle
재사용 단위는 릴리즈 단위이다.
CCP - The Common Closure Principle
동일한 유형의 변경에 대해 닫혀 있어야 한다. 패키지에 영향을 주는 변경은 패키지의 모든 클래스에 영향을 미친다.
CRP - The Common Reuse Principle
구성 요소의 클래스는 함께 재사용된다. 하나라도 재사용하는 경우 모두 재사용한다.
ADP - The Acyclic Dependencies Principle
의존성 사이클을 만들지 않는다.
SDP - The Stable Dependencies Principle
변동성이 있는 클래스는 변경하기 어려운 클래스에 의존해선 안된다.
SAP - The Stable Abstractions Principle
구성 요소는 안정적인 만큼 추상적이어야 한다.