-
[GoF] 빌더 패턴(Builder Pattern)Gof Design Pattern 2021. 12. 3. 13:30
빌더 패턴(Builder Pattern)
빌더 패턴이란?
복잡한 객체를 생성하는 클래스와 구현하는 클래스를 분리하여, 동일한 생성 과정에서도 서로 다른 결과물이 나올 수 있도록 방법을 제공합니다. 사용자는 Builder에서 제공하는 메서드를 사용하여 (구현)결과물을 얻을 수 있습니다.
빌더 패턴 왜 사용할까?
객체를 생성할 때 생성 과정과 구현 방법을 분리함으로써 동일한 객체를 생성에서 과정에서 여러 다른 표현이 나올 수 있다.
빌더 패턴을 사용하게 되면
- 생성과 구현을 분리할 수 있다.
- 구현을 다양하게 할 수 있다.
- 복잡한 객체를 생성하는 절차를 세밀하게 나눌 수 있다.
- 사용자는 구체적인 사항을 알 필요가 없다.
클래스 다이어그램
객체 협력
- Builder Product의 각 요소들을 생성하는데 필요한 추상 메서드가 선언된 클래스나 인터페이스
- ConcreteBuilder Builder에 선언된 메서드를 구현한 클래스
- Director Builder 인터페이스를 사용하여 Product를 생성한다.
- Product 결과물
이펙티브 자바에서 사용하는 빌더 패턴
이팩티브 자바 책에서도 빌더 패턴이 등장한다.
책에서의 빌더 패턴은 객체를 생성할 때 여러개의 매개 변수가 점진적으로 늘어나는 경우 여러개의 생성자를 만들어 사용하기 보다 인스턴스 생성을 위한 Builder를 사용함으로써, 매개 변수의 개수에 상관없이 유연하게 수정하며 혹시 모를 오류를 방지하는 구조를 제공하는 것을 말한다.
GoF의 Builder 패턴은 생성자 뿐만아니라 일련의 과정을 추상화하여 인스턴스를 생성한다는 차이가 있다.
코드보기 Click!
'Gof Design Pattern' 카테고리의 다른 글
[GoF] 팩토리 메서드 패턴(Factory Method Pattern) (0) 2021.12.05 [ GoF] 템플릿 메서드 패턴(Template Method Pattern) (0) 2021.12.04 [GoF] 추상 팩토리 , Abstract Factory (0) 2021.09.06 [GoF] 프로토타입 패턴, Prototype pattern (0) 2021.09.03 [GoF] 싱글톤 패턴, Singleton pattern (0) 2021.09.02