디자인 패턴 - 변경 보호 패턴

dragonappear·2021년 11월 27일
0

Design Pattern

목록 보기
5/5

  • 인터페이스는 인터페이스에 의존하는 클래스로부터 인터페이스의 서브클래스의 존재를 감춘다. 즉 인터페이스라는 추상화가 구체적인 타입을 캡슐화한다.
  • 인터페이스에 의존하는 클래스의 관점에서 인터페이스의 타입이 캡슐화된다는 것은 새로운 인터페이스 타입을 추가하더라도 클래스가 영향을 받지 않는다는 것을 의미한다.
  • 인터페이스에 의존하는 클래스는 어떤 수정도 필요없다.
  • 오직 인터페이스를 실체화하는 클래스를 추가하는것으로 확장할 수 있다.
  • 이처럼 변경을 캡슐화하도록 책임을 할당하는 것을 변경 보호 패턴이라고 부른다.

PROTECTED VARIATIONS 패턴:

  • 객체, 서브시스템, 그리고 시스템을 어떻게 설계해야 변화와 불안정성이 다른 요소에 나쁜 영향을 미치지 않도록 방지할 수 있을까?
    • 변화가 예상되는 불안정한 지점들을 식별하고 그 주위에 안정된 인터페이스를 형성하도록 책임을 할당하자.
  • 변경보호 패턴은 책임 할당의 관점에서 캡슐화를 설명한 것이다.
    • 설계에서 변하는 것이 무언인지 고려하고 변하는 개념을 캡슐화하자!
    • 캡슐화해야 하는 것은 변경이다.
    • 변경이 될 가능성이 높다? 그러면 캡슐화하자!

출처

조용호, 『[eBook] 오브젝트』, 위키북스(2019), p159.

0개의 댓글