마지막 도전 과제 → 어떻게 하면 모델을 거대한 진흙 덩어리(big ball of mud)으로 만들지 않고 발전시켜나갈 수 있을까?
도메인 주도 설계는 정적인 일회성 프로세스가 아님.
→ 이는 개발자, 도메인 전문가, 기타 이해관계자 간의 지속적인 협업을 추구함
→ 따라서 요구사항이 변경되면, 단순히 구현을 수정하는 것이 아니라 도메인 모델 재평가부터 시작해야 함
이 장에서는 가능한 여러 요구사항을 살펴보고, 도메인 모델에 미치는 영향을 먼저 분석한 뒤 구현을 변경함. 또한, 디자인에서 타입을 많이 드러내면 모델이 변경되어도 코드가 의도치 않게 깨지지 않는다는 점에서 수정 코드의 신뢰성이 매우 높다는 것을 확인할 수 있을 것.
지금부터 네 가지 유형의 변경 사항을 살펴보고자 함
첫 번째로 배송 및 배달 요금을 계산하는 방법을 추가함. 회사가 배송비를 계산하여 고객에게 청구하고 싶다고 가정함.
이 요구사항을 어떻게 녹여낼 수 있을까?
→ 우선 배송비를 계산하는 함수부터 만들어야 함