본문 바로가기

책/도메인 주도 개발 시작하기 : DDD 핵심 개념 정리부터 구현까지

(2)
Chap 7. 도메인 서비스 들어가며 이 부분은 내용은 짧지만 내용을 한 번에 이해하기 어려웠습니다…ㅠ 여러 애그리거트가 필요한 기능일 때는.. “도메인 서비스”를 이용한다. 🤔상황 : 결제 시 필요한 애그리거트는 상품, 주문, 할인, 회원 등이 있다. 이때, 할인 부분에서 쿠폰 할인, 등급 할인, 시즌 할인 등 다양한 조건들이 있다. 결제 금액 계산 로직을 한 애그리거트로 구현할 수 없다고 해서 억지로 주문 애그리거트에 넣는다면? ❌문제 : 코드가 길어지고 외부에 대한 의존이 높아지게 되며 코드를 복잡하게 만들어 수정을 어렵게 만드는 요인 도메인의 개념이 애그리거트에 숨어들어 명시적으로 드러나지 않는다. ⇒ “할인 금액 계산 로직을 위한 도메인 서비스”를 별도로 구현!그러면 다음과 같이 도메인 서비스를 구현해볼 수 있다. publ..
Chap1 - 1. 도메인 모델 시작하기 📘 1.1 도메인이란? 예를 들어, 온라인 서점 = “소프트웨어로 해결하고자 하는 문제 영역, 즉 도메인에 해당한다” 한 도메인은 다시 하위 도메인으로 나눌 수 있다. ex) 주문, 혜택, 회원, 결제, 배송 등 한 하위 도메인은 다른 하위 도메인과 연동하여 완전한 기능을 제공한다. ex) 고객이 물건을 구매하면 주문, 결제, 배송, 혜택 하위 도메인의 기능이 엮이게 된다. 소프트웨어가 도메인의 모든 기능을 제공하진 않는다. 특정 도메인을 위한 소프트웨어라고 해서 도메인이 제공해야 할 모든 기능을 직접 구현하는 것은 아니다. → 쇼핑몰 자체 시스템이 아닌 외부 배송 업체의 시스템을 사용하고 배송 추적 정보를 제공하는 필요한 기능만 일부 연동하는 방식 도메인마다 고정된 하위 도메인이 존재하는 것은 아니다...