도메인 : 소프트웨어로 해결하고자 하는 문제영역.
상황에 따라서 필요한 하위 도메인을 구성하면 된다.(도메인마다 고정된 하위 도메인을 구성할 필요는 X)
각 도메인에서는 요구사항에 대한 이해와 분석이 필요하다.
요구사항의 구체에 대해서 추측하지 말고, 진짜 필요로 하는 기능을 개발해야한다.(Garbage In, Garbage Out)
이를 위해서 이 책에서 추천하는 간단하고 좋은 방법은 전문가와 대화하는 것이다.
도메인 자체를 이해하기 위해서 표현하는 개념 모델.
특정 도메인을 이해시킬 수 있는 여러가지 방식으로 표현된다.(e.g 객체 도메인 모델, 상태 다이어그램 등)
일반적 애플리케이션의 아키텍쳐는 다음과 같이 구성된다.
User <-> [표현 - 응용 - 도메인 -인프라] <-> DB
도메인 모델 패턴은 도메인의 규칙을 도메인계층에서 객체지향적으로 구현하는 것을 말한다.
도메인의 요구사항에 맞게 도메인 객체 내부의 변수 및 함수를 모델링한다.
도메인에서 사용하는 용어는 도메인에서 필요로 하는 요구사항이 반영이 되어야한다.
단순 step1,2,3,4 로 표현하기 보다는 흔히 말하는 업무로직으로 표현하는 것이 코드를 이해하고 관리하기에 용이하다.