Creational Patterns(생성 패턴) :: Builder(빌더)
구분
객체 생성 (Object Creational)
의도
- 복잡한 객체를 생성하는 방법과 표현하는 방법의 정의하는 클래스를 별도로 분리하여 서로 다른 표현이라도 이를 생성할 수 있는 동일한 절차를 제공할 수 있도록 한다.
사용시기
- 복합 객체의 생성 알고리즘이 복합 객체를 합성하는 요소 객체들과 상관없이 독립적일 때
- 합성할 객체들의 표현이 서로 다르더라도 생성 절차에서 이를 지원해야 할 때
장점과 단점
1. 제품에 대한 내부 표현을 다양화 시킬 수 있다.
2. 생성과 표현에 필요한 코드의 분리
관련 패턴
복잡한 객체의 생성에 있어서 추상 팩토리 패턴과 빌더 패턴은 비슷하다.
차이가 있다면, 빌더 패턴은 복잡한 객체의 단계별 생성에 중점을 둔 반면, 추상 팩토리 패턴은 제품의 유사군들이 존재할 때 유연한 설계에 중점을 둔다.
빌더 패턴은 생성의 마지막 단계에서 생성한 제품을 반환하는 반면, 추상 패토리 패턴은 만드는 즉시 제품을 반환한다. 제품 하나만으로도 의미가 있기 때문이다.
참조문헌
- GoF의 디자인패턴
댓글 없음:
댓글 쓰기