현재노트

[도메인주도개발 - DDD] 도메인 모델 본문

도메인주도개발(DDD)/도메인 모델 시작하기

[도메인주도개발 - DDD] 도메인 모델

현재노트 2022. 10. 24. 14:51

도메인 모델? 특정 도메인을 개념적으로 표현한 것.

예를 들어 주문 도메인을 생각해 보면, 온라인 쇼핑몰에서 주문을 하려면 상품을 몇개 살지 선택하고 배송지를 입력한다. 선택한 상품 가격을 이용해서 총 지불 금액을 계산하고, 금액 지불을 위한 결제 수단을 선택한다. 주문한 뒤에도 배송 전이면 배송지 주소를 변경하거나 주문을 취소할 수 있다. 이런 요구사항들을 취합해 주문 도메인의 도메인 모델을 객체 모델로 구성하면 아래와 같다.

 

 

이와 같이, 도메인 모델을 사용하면 여러 관계자들이 동일한 모습으로 도메인을 이해하고 도메인 지식을 공유하는 데 도움이 된다.

도메인을 이해하려면 도메인이 제공하는 기능과 도메인의 주요 데이터 구성을 파악해야 하는데, 이런 면에서 기능과 데이터를 함께 보여주는 객체 모델은 도메인을 모델링하기에 적합하다.

도메인 모델은 객체로만 모델링할 수 있는 것이 아니라 어느 표현 방식으로든 상관 없다.

도메인 모델은 각각의 도메인마다 따로 만들어야 한다.

 

협업을 하는 데 있어 도메인 모델은 가시적으로 해당 도메인에 어떤 기능들이 제공되고, 주요 데이터 구성을 손 쉽게 파악할 수 있다.

Comments