더북(TheBook)

이 경우 정확히 하나의 주소를 사용하는 모든 부분을 검토하여 해당 코드에서 배송 주소를 요구하는지, 아니면 청구 주소를 요구하는지 판단해야 합니다. 이처럼 요구 사항을 대대적으로 변경해야 한다면 이를 아키텍처적으로 중요한 요구 사항으로 볼 수 있습니다.

아키텍트는 앞선 상황을 고려하여 사용자와 주소 사이를 일대다 관계로 관리하는 방식을 선택할 수 있습니다. 각 주소에 배송과 청구 또는 미래에 추가될 수 있는 다른 관계 유형을 명시할 수 있습니다. 이는 다소 복잡한 모델이지만, 상당한 유연성을 제공합니다. 또 구현 단계에서 최소한의 작업으로 요구 사항도 변경할 수 있습니다.

주소와 관련된 요구 사항은 주소를 저장해야 한다는 것을 명시적으로 알려 줍니다. 하나의 주소만 저장할지 판단하게 하고, 요구 사항이 변경될 때는 어떤 결과가 발생할지도 고민할 기회를 줍니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.