development/디자인패턴
[디자인패턴] 디자인패턴 입문 - SOLID원칙
일상이상삼상
2018. 4. 20. 15:08
SOLID 원칙
- SOLID
- SRP, OCP, LSP, DIP, ISP
1) SRP
- Single Responsibility Principle : 단일 책임 원칙
- SRP에서 책임이란 기본 단위로 객체를 지칭한다.
- 객체는 하나의 책임만을 가져야 한다는 것을 의미한다.
2.) OCP
- Open-Closed Principle : 개방-폐쇄 원칙
- 기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계되어야 한다.
OCP를 불만족 하는 설계 |
OCP를 만족 하는 설계 |
3) LSP
- Liskov Substitution Principle : 리스코프 치환 원칙
- 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야한다
4) DIP
- Dependency Inversion Principle : 의존 역전 원칙
- 의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다는 변화하기 어려운 것, 거의 변화가 없는 것에 의존하라는 설계 원칙.
- 정책, 전략, 추상적인 것은 변하기 어려운 것에 해당하고 구체적인 방식, 사물 등은 변하기 쉬운 것으로 구분한다.
- 가령 아이가 장난감을 가지고 논다고 하였을 때, 로봇, 자동차 장난감과 같은 구체적인 사물이 아닌 장난감 이라는 추상적 개념에 의존
5) ISP
- Interface Segregation Principle : 인터페이스 분리 원칙
- 인터페이스를 클라이언트에 특화되도록 분리시키는 설계 원칙.
ISP 원칙에 따른 설계