기능 계층과 구현 계층 분리하기

 

* Bridge Pattern

   - 구현으로부터 추상을 분리함으로써 독립적으로 변할 수 있다

    - 거대한 클래스 혹은 밀접하게 연관된 클래스들의 집합을 각각 독립적으로 개발될 수 있는 2개의 분리된 계층구조로 분리할 수 있다 (추상과 구현으로)

 

* 의도

   - 커플링을 제한하기 위해 구현과 독립적으로 추상적인 객제 구조를 정의한다

 

* 활용

  - 추상과 구현이 컴파일 타임에 바인딩 되면 안 될 때

  - 추상과 구현이 독립적으로 확장 가능해야 할 때

  - 추상화 구현의 변경이 클라이언트에 영향을 줘서는 안될 때

  - 구현 세부사항이 클라이언트로 부터 숨겨져야 할 때

 

* 디자인 원리

  - 변화하는 것을 찾고 캡슐화 한다

   - 클래스 상속보다 Object Composition 을 선호하라

 

 

* Abstraction - 추상 인터페이스를 정의한다

                  - Implementor 에 대한 참조를 유지한다

                  - Implementor 에 요청을 전달한다

* RefinedAbstraction - 추상 인터페이스를 확장한다

* Implementor - 구현을 위해 인터페이스를 정의한다

* ConcreteImplementor - Implementor 인터페이스를 구현한다

 

 

- 어댑터 패턴과 모두 구현의 상세내용을 숨긴다

- 어댑터 패턴은 관련없는 컴포넌트와 함께 동작하기 위해 설계되었다

   (이미 시스템이 설계된 이후에 적용된다)

- 어댑터 패턴은 단지 하나의 인터페이스를 추상화한다

- 브릿지 패턴은 추상과 구현을 독립적으로 변경하기 위해 설계에 앞서 사용된다

- 브릿지 패턴은 구현으로부터 복잡한 개체를 추상화 할 수 있다

'SW 공학 > ::: 패턴' 카테고리의 다른 글

///[GoF] Composite Pattern  (0) 2021.09.27
///[GoF] Adapter Pattern  (0) 2021.09.26
///[GoF] Decorator Pattern  (0) 2021.09.26
///[GoF] Singleton Pattern  (0) 2021.09.26
///[GoF] Builder Pattern  (0) 2021.09.26

+ Recent posts