브릿지(Bridge) 패턴

오형민·2021년 9월 13일
0

디자인패턴

목록 보기
3/6

요약

추상화와 구현을 분리하여 각각을 독립적으로 변형할 수 있게 한다.

● Abstraction : 기능 계층의 최상위 클래스. 구현 부분에 해당하는 클래스를 인스턴스를 가지고 해당 인스턴스를 통해 구현부분의 메서드를 호출합니다. ex) RemoteControl
● RefindAbstraction : 기능 계층에서 새로운 부분을 확장한 클래스 ex) RCAControl / SonyControl
● Implementor : Abstraction의 기능을 구현하기 위한 인터페이스 정의 ex) TV
● ConcreteImplementor : 실제 기능을 구현합니다. ex) Sony / RCA

구체적인 부분과 추상화된 부분 모두에 대해 변경할 필요성이 있기 때문에, 사용하는 디자인 패턴

장단점

장점

  • 구현을 인터페이스에 완전히 결합시키지 않았기 때문ㄴ에 구현과 추상화된 부분을 분리시킬 수 있음
  • 추상화된 부분과 실제 구현 부분을 독립적으로 확장할 수 있음.
    ㅊ추상화된 부분을 구현한 구상 클래스로 바꿔도 크랄이언트 쪽에는 영향을 끼치지 않음.

단점

  • 디자인이 복잡해진다는 단점이 있음

활용법

  • 여러 플랫폼에서 사용해야 할 그래픽스 및 윈도우 처리 시스템에서 유용하게 쓰입니다.
  • 인터페이스오ㅓㅏ 실제 구현부를 서로 다른 방식으로 변경해야 하는 경우에 유용하게 쓰입니다.

0개의 댓글