C++/디자인패턴

[C++]생성 패턴/빌더 패턴

programmer-faust 2025. 7. 25. 11:46
  • 순서
    1. 빌더 패턴이란?
    2. 빌더 패턴의 장점과 단점
    3. 빌더 패턴 사용시 고려사항
    4. 간단한 빌더 패턴 작성
  • 빌더 패턴이란?
    1. 복잡한 객체의 생성 과정을 단계별로 나누어, 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 생성 패턴.
    2. 복잡한 객체를 조립하듯이 여러 단계로 나누어 생성함.
    3. 빌더 패턴의 사용 예
      • 캐릭터 커스터마이징과 같이 많은 옵션이 필요할 때
      • 생성자 매개변수가 너무 많을 때
      • 선택적 매개변수가 많을 때
      • 객체 생성 과정이 여러 단계일 때
  • 빌더 패턴의 장점과 단점
    1. 장점
      • 복잡한 객체 생성 제어: 객체 생성 과정을 세밀하게 조정 가능
      • 가독성 향상: 메서드 체이닝을 통한 명확한 생성 절차를 가짐
      • 불변 객체 생성 용이: 생성 후 변경 불가능한 객체 정의에 적합함
      • 생성과 사용의 분리: 클라이언트는 생성 세부사항을 몰라도 됨
    2. 단점
      • 클래스 수 증가: 빌더, 디렉터, 결과 객체 등 추가 클래스 필요함
      • 단순한 객체에는 과도함: 생성 로직이 단순할 경우 오히려 복잡할 수 있음
      • 빌더 관리 복잡성: 빌더의 설정 순서 미 조건 체크를 직접 처리해야 할 수 있음.
  • 빌더 패턴 사용시 고려사항
    1. 생성할 객체에 필요한 필수, 선택 속성이 많고 생성 순서가 중요할 경우인지?
    2. 값이 고정되어 불변한 객체 여부 고려
    3. 생성 로직을 분리함으로 유지보수가 쉬워지는지?
    4. 연속 호출 형식이 더 직관적인 경우에 적합하여 매서드 체이닝 가독성을 고려
  • 간단한 빌더 패턴 작성
    1.