좋은 객체 지향 설계를 하기 위해서는 지켜야할 아래 5가지 원칙들이 있다.
SRP: 단일 책임 원칙(single responsibility principle)
: 한 클래스는 하나의 책임만 가져야한다. 변경을 할 때, 많은 것을 바꾸지 않아도되는지가 중요하다.
OCP: 개방-폐쇄 원칙 (Open/closed principle)
: 확장에는 개방되어있고, 변경에는 폐쇄적인 구조를 의미한다. 보통 이 원칙을 지키기 위해 역할과 구현을 분리한다(다형성 이용).
LSP: 리스코프 치환 원칙 (Liskov substitution principle)
: 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야한다.
ISP: 인터페이스 분리 원칙 (Interface segregation principle)
: 각 클라이언트 혹은 역할에 맞추어서 여러 개의 인터페이스를 구성하는 것이 범용 인터페이스 하나보다 낫다.
DIP: 의존관계 역전 원칙 (Dependency inversion principle)
: 추상화에 의존해야하며, 구체화에는 의존하면 안된다. = 구현 클래스에 의존하지 않고, 인터페이스에 의존한다.
'Back-end > spring frameworks' 카테고리의 다른 글
| 컴포넌트 스캔 (0) | 2023.11.19 |
|---|---|
| 싱글톤 (0) | 2023.11.19 |
| 스프링 컨테이너와 빈 (0) | 2023.11.19 |
| 스프링 웹개발 방법(컨트롤러의 view 호출 방법) (0) | 2023.09.26 |
| @AfterEach, 어노테이션, MVC패턴의 호출 경로 (0) | 2023.09.26 |