<aside>
💡 *도메인 전문가만이 분석하여 도출한 복잡한 모델
은 구현 과정의
시행착오가 포함되지 않은 모델이므로 애플리케이션 구현에는
큰 도움이 되지 않았다.
도메인을 이해하는데 도움될 뿐만 아니라 설계의 기반이 되는 모델이 필요하다.
</aside>
도메인 주도 설계에서 필요로 하는 모델링 접근법에 대해 알아보자.
*코드와 그것의 기반이 되는 모델이 긴밀하게 연결되면 코드에 의미가 부여되고 모델과 코드가 서로 대응하게 된다.
보통은 개발자가 아닌 도메인 전문가가 분석 모델
을 만들게 된다.
소프트웨어 시스템에서 수행할 역할에 대해서는 전혀 고려하지 않은 채 업무 도메인의 개념만을 나타낸 분석 모델이 완성된다.
결과적으로 순수하게 이론에만 치우친 분석 모델은 매우 비현실적일 가능성이 높으며, 대부분의 문제들을 다시 검토하게 된다.
이처럼 분석과 설계가 분리되어 있다면 좋은 소프트웨어가 만들어질 수 없다.
누구나 도메인을 이해할 수 있도록 분석이 진행되어야 한다.
설계에서는 문제를 해결할 애플리케이션의 Component(구성요소)에 대해 기술해야 하며, 해당 Component는 프로젝트에서 사용 중인 프로그래밍 도구로 구현할 수 있어야 한다.
해당 내용들을 겸한 모델 주도 설계
는 도메인 모델을 있는 그대로 반영하면서
설계와 모델의 대응을 분명하게 하는 설계 방법이다.