FireDrago
화이용
FireDrago
[객체지향과 디자인패턴] 5장 객체지향 설계 원칙 SOLID (2) 본문
프로그래밍/디자인패턴
[객체지향과 디자인패턴] 5장 객체지향 설계 원칙 SOLID (2)
화이용
2024. 9. 2. 12:55
4. 인터페이스 분리 원칙 (Interface segregation principle)
4.1 인터페이스 변경과 그 영향
- 인터페이스 분리 원칙은 단일책임의 원칙과도 연결된다.
- 인터페이스 분리 원칙은 클라이언트 입장에서 인터페이스를 분리하라는 원칙
5. 의존 역전 원칙 (Dependency inversion principle)
- 고수준 모듈과 저수준 모듈이 모두 추상 타입에 의존하도록 바꾼다.
5.1 추상화 의존
- 고수준 모듈과 저수준 모듈이 모두 추상 타입에 의존하도록 바꾼다.
5.2 의존 역전 원칙과 패키지
- 의존 역전 원칙은 타입의 소유도 역전시킨다. (FileReader 타입을 ByteSource 상위 모듈이 소유하게 된다)
- 독립적인 배포가 가능하게 된다. ByteSource 구현 클래스만 변경하여 배포 가능하다.
- 의존 역전 원칙은 개방폐쇄 원칙을 클래스 수준뿐만 아니라 패키지 수준까지 확장시키는 역할을 한다.
SOLID 원칙 정리
- 변화에 유연하게 대처할 수 있게 된다.
- 사용자 관점에서의 설계를 지향한다. 인터페이스 분리원칙은 클라이언트 입장에서 인터페이스를 분리한다.
- 단일 책임 원칙, 인터페이스 분리 원칙 => 객체가 커지지 않도록 막아준다.
- 리스코프 치환 원칙, 의존 역전 원칙 => 개방 폐쇄 원칙을 지원한다.