본문 바로가기
GoF의 디자인 패턴

빌더(Builder) 패턴

by 아토로 2022. 1. 8.

동일한 프로세스를 거쳐 다양한 구성의 인스턴스를 만드는 방법

 

(복잡한) 객체를 만드는 프로세스를 독립적으로 분리할 수 있다.

구현 방법

장점과 단점

장점

  • 만들기 복잡한 객체를 순차적으로 만들 수 있다.
  • 복잡한 객체를 만드는 구체적인 과정을 숨길 수 있다.
  • 동일한 프로세스를 통해 각기 다르게 구성된 객체를 만들 수도 있다.
  • 불완전한 객체를 사용하지 못하도록 방지할 수 있다.

단점

  • 원하는 객체를 만들려면 빌더부터 만들어야 한다.
  • 구조가 복잡해진다. (트레이드 오프)

실무 적용 사례

자바

  • Stream.Buidler API
  • StringBuilder, StringBuffer

롬복

  • @Builder

스프링

  • UriComponentsBuilder
  • MockMvcWebClientBuilder
  • Builder 로 끝나는 클래스

예제 코드

https://github.com/jsyang-dev/study-designpattern/tree/master/src/main/java/me/study/designpattern/builder

'GoF의 디자인 패턴' 카테고리의 다른 글

어댑터(Adapter) 패턴  (0) 2022.01.13
프로토타입(Prototype) 패턴  (0) 2022.01.10
추상 팩토리 패턴  (0) 2022.01.06
팩토리 메소드(Factory method) 패턴  (0) 2022.01.04
싱글톤(Singleton) 패턴  (0) 2021.12.29

댓글