[Spring] 프로젝트에 DDD 도입하기 (Feat. 도메인 모델 설계)
·
spring
오늘은 프로젝트에 DDD를 도입하며 고민하고 공부했던 적용기를 다뤄보려 한다. 도메인 주도 개발이란DDD(Domain-Driven Design) 또는 도메인 주도 설계라고 부르며 도메인 모델을 중심에 놓고 설계하는 방식을 일컫는다. 도메인이란 무엇일까도메인은 특정 문제 영역을 의미하며, 소프트웨어가 해결하려는 비즈니스 영역을 의미한다. 예를 들어, 이커머스 플랫폼을 개발한다면 이커머스 플랫폼은 개발해야하는 대상이 되고 이를 도메인이라고 한다. 도메인은 또 하위 도메인으로 나눠질수 있는데, 주문, 결제, 배송, 고객 관리 등이 해당 도메인에 포함될 수 있다.   각 하위 도메인은 독립적으로 기능을 제공할 수도 있고, 다른 하위 도메인과 연동하여 기능을 제공하기도 한다. 예를 들어, 카탈로그 도메인은 상품 ..