
아키텍처
코드 품질 개선 기법 17편: 사상누각
두줄요약
빌더 패턴은 편리하지만 필수 인수 누락을 런타임에 드러내기 쉬워 더 견고한 대안이 필요했습니다. 특별한 이유가 없다면 생성자나 팩토리 함수로 대체하는 방식을 제안했습니다.
핵심 내용
- 빌더 패턴은 필수 인수 누락을 런타임까지 숨길 수 있어, 특별한 이유가 없으면 생성자나 팩토리 함수가 더 견고한 선택
- 필수 인수가 적고 선택적 인수가 많거나, 생성 중 상태 전달이나 마지막 작업 정의가 필요한 경우에만 빌더가 유효한 대안
- 대체가 어려운 상황에서는 필수 인수를 빌더 생성자로 옮기거나, 중간 상태를 타입으로 분리해 유효하지 않은 상태를 줄이는 방식 제안
적용해볼 점
- 필수 인수 검증을 컴파일 타임에 가까이 두는 설계 검토
- 출력 인수처럼 동작하는 빌더 전달 대신 반환값 중심 구조로 단순화
- 데코레이터형 파이프라인에서는 최종 생성 연산을 명시적으로 두는 방식 고려