빌더 패턴

ITKHJ·2023년 4월 6일
0

GoF의 디자인 패턴

목록 보기
13/16
post-thumbnail

빌더 패턴

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

  • 빌더 패턴을 적용하면 빌더에다 인스턴스를 만드는 방법을 스텝별로 정의를 하게됨

  • 일반적인 코딩을 할 시에 플랜에 따라서 사용하는 생성자가 계속해서 늘어나게 되어 코드가 많아지고 어떤 생성자를 생성해야 하는 지 헷갈릴 수 있는 단점이 있는 데, 이때 빌더 패턴을 적용하면, 인스턴스를 적용하는 방법을 스텝별로 생성하여 적용할 수 있음

TourPlanBuilder

  • builder 부분에 해당하며, interface 구현.

DefaultTourBuilder

  • ConcreteBuilder에 해당하며, 구현체가 된다.

App(Director 사용 안한 경우)

  • Client에 해당하며, 어떤 플랜이든 필요한 정보만큼 커스터마이징하여 구성할 수 있다.
  • 기존처럼 계획마다 다른 생성자를 개별적으로 생성할 필요 없이 필요한 것만으로 코딩이 가능.

TourDirector

  • Director에 해당함
  • 자주 반복되는 플랜일 경우 위와 같이 디렉터에 넣어놓고 좀 더 쉽게 불러와서 사용할 수 있다.

App(Director 사용한 경우)

  • director를 통하여 사용할 경우 위와 같이 클라이언트가 더욱 더 간결하게 사용 가능

빌더 패턴의 장/단점

장점

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

단점

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

※ 메서드 체이닝 기법 :

profile
모든 업무 지식 작성하자!

0개의 댓글