-
[GoF]브릿지 패턴(Bridge Pattern)Gof Design Pattern 2021. 12. 13. 19:28
브릿지 패턴(Bridge Pattern)
브릿지 패턴이란?
기능의 계층과 구현의 계층을 분리하는 패턴입니다. 추상화와 구현을 분리하여 각각을 독립적으로 변경할 수 있게 합니다. 두 계층을 연결하는 다리(Bridge)를 통해 연결됩니다.
브릿지 패턴 왜 사용할까?
기능의 확장과 구현의 확장을 따로 계층화 하는 것이 목적입니다. 따라서 기능에 대한 여러가지 구현을 다양하게 적용할 수 있습니다. 기능과 구현이 혼재하면 상속의 관계가 복잡하게 섞이게 됩니다.
브릿지 패턴을 사용하게 되면
- 기능과 구현의 결합도가 약하기 떄문에 기능이 구현 방식에 얽매이지 않는다.
- 기능의 구현 클래스를 런타임 때 지정이 가능합니다.
- 구현이 변경되더라도 기능 클래스 부분에 대한 컴파일은 필요 없습니다.
- 기능과 구현은 독립적으로 확장되며, 클라이언트는 기능의 인터페이스를 사용하므로 구체적인 구현 내용은 숨길 수가 있습니다.
클래스 다이어그램
객체 협력
- Abstraction : 추상화 개념의 상위 클래스이고 객체 구현자(Implemntor)에 대한 참조자를 관리
- RefinedAbstraction : 추상화 개념의 확장된 기능을 정의
- Implementor : Abstraction에 대한 선언을 제공하며, 하위 클래스가 구현해야 하는 기능들을 선언한다
- ConcreteImplementor : Implementor에 선언된 기능을 구현합니다. 여러가지 방식이 나올 수 있습니다.
코드보기 Click!
'Gof Design Pattern' 카테고리의 다른 글
[GoF]컴포지트 패턴(Composite Pattern) (0) 2021.12.18 [GoF]데코레이터 패턴(Decorator Pattern) (0) 2021.12.16 [GoF]전략 패턴(Strategy) (0) 2021.12.10 [GoF] 팩토리 메서드 패턴(Factory Method Pattern) (0) 2021.12.05 [ GoF] 템플릿 메서드 패턴(Template Method Pattern) (0) 2021.12.04