복잡한 인스턴스 조립하기
* Builder Pattern
* 의도
- 쉽게 교환 가능한 알고리즘을 기반으로 객체를 동적으로 생성한다
* 활용
- 런타임에 생성 프로세스에 대한 제어가 필요할 때
- 객체 생성 알고리즘이 시스템으로에서 격리가 필요할 때
- 핵심 코드 변경없이 새로운 생성 기능 추가가 필요할 때
* 디자인 원리
* Client - 제품을 만들기 위해 director 와 concrete builder 를 선택한다
Director - 최종 제품을 위해 어떤 파트 및 단계가 필요한지 알고있다.
하지만, 각 스텝이 어떻게 수행되는지는 모른다
Builder - product 객체의 파트들을 생성하기 위한 추상 인터페이스를 지정한다
Concrete Builder - 어떻게 파트를 생산하고 최종 제품에 추가할지 알고 있다.
- Builder interface 를 구현함으로써 파트들을 생성하고 조립한다
- 제품을 검색하기 위한 인터페이스를 제공한다
Product - 복잡한 객체를 표현한다
- 복합체 패턴은
- 빌더패턴은 전략 패턴이 복잡한 객체 혹은 데이터 구조 생성을 위해 특화된 경우이다
- Abstract Factory 와 비교하여, 빌더 패턴은 객체를 단계적으로 만들고, 결과는 나중에 요청된다
(Abstract Factory 를 즉시 리턴한다)
'SW 공학 > ::: 패턴' 카테고리의 다른 글
///[GoF] Decorator Pattern (0) | 2021.09.26 |
---|---|
///[GoF] Singleton Pattern (0) | 2021.09.26 |
///[GoF] Abstract Factory Pattern (0) | 2021.09.26 |
///[GoF] Factory Method Pattern (0) | 2021.09.26 |
///[GoF] Mediator Pattern (0) | 2021.09.26 |