비즈니스 domain
입니다.비즈니스 domain
은 유사한 업무의 집합 입니다. (마케팅, 구매, 연구, 영업)비즈니스 domain
별로 나누어 설계 및 개발 될 수 있습니다.비즈니스 Domain별로 나누어 설계하는 방식입니다.
기존의 어플리케이션 설계가 비즈니스 Domain에 대한 이해가 부족한 상태에서 설계 및 개발되었다는 반성에서 출발하였습니다. DDD 에서는 기존의 현업에서 IT로의 일방향 소통구조를 탈피하여 현업과 IT의 쌍방의 커뮤니케이션을 매우 중요하게 생각합니다.
DDD의 핵심 목표는 “Loosly coupling”, “High cohesion” 입니다.
어플리케이션 또는 그 안의 모듈간의 의존성은 최소화하고, 응집성은 최대화를 추구합니다.
DDD는 Strategic Design과 Tactical Design으로 나눌 수 있습니다.
Strategic Design
은 개념 설계이고 Tactical Design
은 프로그래밍하기 위한 구체적 설계하고 할 수 있습니다.