개발하는 리프터 꽃게맨입니다.

[C++/디자인패턴] 빌더 패턴 (Builder Pattern) 본문

기타 개발 지식/디자인패턴

[C++/디자인패턴] 빌더 패턴 (Builder Pattern)

파워꽃게맨 2024. 1. 29. 21:14

1. 개요

빌더 패턴은 복잡한 객체의 생성 과정과 표현 방법을 분리하여 다양한 구성의 인스턴스를 만드는 생성 패턴입니다.

생성자에 들어갈 매개 변수를 메서드로 하나하나 받아들이고 마지막에 통합 빌드해서 객체를 생성하는 방식이죠.

 

예를 들어서 몬스터를 만들어낸다고 생각합시다.

몬스터는 종족, 공격력, 체력, 방어력 등 많은 매개변수를 가지고 있습니다.

이것들을 커스텀해서 생성하는 방식을 지원하는 것이 빌더 패턴입니다.

 

2. 예제

 

주석에 적힌대로 위와같은 형식으로 생성을 한다면

어떤 매개변수를 설정하는지 명확하지 않습니다.

 

 

이런 식으로 따로 생성을 위한 빌더를 정의해서 사용하면,

몬스터에 대한 청사진도 만들 수 있고, 명확하게 매개변수를 전달할수도 있습니다.

이렇게 청사진을 만들어놓고 빌드자체를 나중에 따로 하는 것을 생성 지연이라고 부릅니다.