작심삼일

14주차-2. Bridge 본문

스터디/디자인 패턴

14주차-2. Bridge

yun_s 2021. 9. 23. 21:40
728x90
반응형

디자인 패턴을 모르는 사람이 스터디를 하며 적은 것이라 틀린 부분이 있을 수 있습니다.

틀린 부분은 알려주시면 감사하겠습니다.

어떤 패턴인가

구현에서 추상을 분리하여, 이들이 독립적으로 다양성을 가질 수 있도록 합니다.

 

구현이 인터페이스에 얽매이지 않게 됩니다.

구현 세부 사항을 사용자에게서 숨길 수 있습니다.


어떻게 쓰는가

Abstraction: 추상적 개념에 대한 인터페이스를 제공하고 객체 구현자에 대한 참조자를 관리합니다.

RefinedAbstraction: 추상적 개념에 정의된 인터페이스를 확장합니다.

Implementor: 구현 클래스에 대한 인터페이스를 제공합니다.

ConcreteImplementor: Implementor 인터페이스를 구현하는 것으로 실제적인 구현 내용을 담았습니다.


어디서 활용되는가

이는 책의 내용 (p. 215)을 그대로 가져왔다.

1. 추상적 개념과 이에 대한 구현 사이의 지속적인 종속 관계를 피하고 싶을 때

2. 추상적 개념과 구현 모두가 독립적으로 서브클래싱을 통해 확장되어야 할 때

3. 추상적 개념에 대한 구현 내용을 변경하는 것이 다른 관련 프로그램에 아무런 영향을 주지 않아야 할 때


My Opinion

객체와 객체를 조합할 때 사용하는 패턴이다.

Adapter 패턴은 기존에 존재하는 객체를 사용하기 위해 이용하는 패턴이라면, Bridge 패턴은 미리 계획을 세워서 적용하는 패턴이다.

728x90
반응형

'스터디 > 디자인 패턴' 카테고리의 다른 글

15주차. Proxy  (0) 2021.09.30
14주차-1. Observer  (0) 2021.09.23
13주차. Mediator  (0) 2021.09.09
12주차. Facade  (0) 2021.08.18
11주차. Builder  (0) 2021.08.11
Comments