delpho

[Java] 빌더 패턴에 대해서 설명해주세요. 본문

CS/Java

[Java] 빌더 패턴에 대해서 설명해주세요.

delpho 2022. 9. 7. 09:32

_1. 

빌더 패턴은 왜 나왔을까 ?

 

빌더패턴은 생성자만 사용할 때 발생할 수 있는 문제를 개선하기 위해 고안

 

어떤 이슈인데??

👉👉 

1. 클라이언트 프로그램에서 팩토리 클래스를 호출할 때 Optional한 인자가 많아지면, 타입과 순서에 대한 관리가 어려워져 에러 발생 확률이 높아진다.
2. 경우에 따라 필요 없는 파라미터들에 대해서 팩토리 클래스에 일일이 NULL 값을 넘겨줘야한다.
3. 생성해야 하는 sub class가 무거워지고 복잡해짐에 따라 팩토리 클래스 또한 복잡해진다. 

 

 

이 해당 이슈들을 해결하려면 ??

👉👉

1. 불필요한 생성자를 만들지 않고 객체를 만든다.
2. 데이터의 순서에 상관 없이 객체를 만들어 낸다.
3. 사용자가 봤을때 명시적이고 이해할 수 있어야 한다.

 

 

 

_2. 

[ 빌더 패턴 (Builder Pattern) ]

  • 생성과 관련된 디자인 패턴으로, 복잡한 객체를 생성하는 클래스와 표현하는 클래스를 분리하여, 동일한 절차에서도 서로 다른 표현을 생성하는 방법을 제공
  • 생성해야하는 객체가 Optional한 속성을 많이 가질 때 더 좋다.

 

 

_3. 

[ 빌더패턴의 장점 ]

필요한 데이터만 설정할 수 있음
유연성을 확보할 수 있음
가독성을 높일 수 있음
변경 가능성을 최소화 가능

 

 

 


출처

https://dev-youngjun.tistory.com/197

 

빌더 패턴(Builder Pattern)

1. 빌더 패턴이란? 생성과 관련된 디자인 패턴으로, 동일한 프로세스를 거쳐 다양한 구성의 인스턴스를 만드는 방법 1-1. 정의(Definition) GoF 디자인 패턴 중 생성 패턴에 해당한다. 빌더 패턴은

dev-youngjun.tistory.com