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 원칙 정리

  • 변화에 유연하게 대처할 수 있게 된다.
  • 사용자 관점에서의 설계를 지향한다. 인터페이스 분리원칙은 클라이언트 입장에서 인터페이스를 분리한다.
  • 단일 책임 원칙, 인터페이스 분리 원칙 => 객체가 커지지 않도록 막아준다.
  • 리스코프 치환 원칙, 의존 역전 원칙 => 개방 폐쇄 원칙을 지원한다.