유사한 업무의 집합
DDD에서 말하는 Domain -> 비즈니스 Domain
비즈니스 Domain별로 나누어 설계하는 방식
기존 설계가 비즈니스 Domain에 대한 이해가 부족한 상태에서 설계 및 개발되었다는 반성에서 출발했다.
기존의 현업에서 IT로의 **단방향 소통구조를 탈피
**하여 현업과 IT의 쌍방향 커뮤니케이션을 매우 중요하게 생각한다.
모듈간의 의존성을 최소화하고 응집성은 최대화한다
도메인 자체와 도메인 로직에 초점을 맞추고 **데이터 중심의 접근법을 탈피
**해서 도메인의 모델과 로직에 집중
보편적인 언어(유비쿼터스 언어) 사용 도메인 전문가와 소프트웨어 개발자 간의 커뮤니케이션 문제를 없애고
상호가 이해할 수 있고 모든 문서와 코드에 이르기까지 동일한 표현, 단어로 구성된 단일화된 언어체계 구축
-> **분석 작업과 설계 그리고 구현에 이르기까지 통일된 방식으로 커뮤니케이션이 가능해진다**
소프트웨어 엔티티와 도메인 컨셉트를 가능한 가장 가까이 일치시킴
분석 모델과 설계가 다르고 코드가 다른 구조가 아니라
도메인 모델부터 코드까지 함께 움직이는 구조의 모델을 지향하는 것이 핵심 원리