비즈니스 **도메인(Domain)**은 너무 거대하고 복잡하여 한 번에 이해하거나 하나의 시스템으로 설계하는 것이 불가능합니다. 따라서 큰 도메인을 명확히 파악하고 해결하기 위해 여러 개의 **하위 도메인(Subdomain)**으로 반드시 분할해야 합니다. 또한 분할 후에는 비즈니스 전략에 따라 각 도메인의 중요도를 평가해야 합니다.
이를 통해 한정된 개발 리소스를 어디에 집중하여 효율을 극대화할 것인지 결정할 수 있습니다.
문제 영역(Problem Space)과 해결 공간(Solution Space)문제 영역은 현실의 비즈니스 요구 사항 그 자체이며 "무엇(What)을 해결해야 하는가?"에 집중합니다.
해결 공간은 개발자가 코드로 구현한 공간이며 "어떻게(How) 기술적으로 해결할 것인가?"에 집중합니다.
중요도에 따라 **하위 도메인(Subdomain)**은 다음 3가지로 분류됩니다.
거대한 도메인을 실무에 맞게 쪼개는 과정을 이커머스 시스템에 적용해 볼 수 있습니다.
이커머스 도메인은 주문(Order), 결제(Payment), 배송(Shipping), 회원(Member) 등으로 명확하게 분할할 수 있습니다. 분할된 도메인 중 이윤을 창출하는 **핵심 도메인(Core Domain)**에 조직의 개발 리소스를 가장 우선적으로 집중해야 합니다.
[상품(Product) 도메인 기준 하위 도메인 분류 예시]