본문 바로가기

책/도메인 주도 개발 시작하기

(2)
[DDD] 2. 아키텍처 개요 2.1 네 개의 영역 표현, 응용, 도메인, 인프라스트럭처는 아키텍처를 설계할 떄 출현하는 전형적인 네 가지 영역이다. 표현 영역 사용자의 요청을 받아 응용 영역에 전달하고, 응용 내역의 처리 결과를 다시 사용자에게 보여주는 역할(대표적으로 스프링 MVC 프레임워크가 여기에 해당) 응용 영역 시스템이 사용자에게 제공해야 할 기능을 구현한다.(주문 등록, 주문 취소, 상품 상세 조회 등) 기능을 구현하기 위해 도메인 영역의 도메인 모델을 사용한다. 응용 서비스는 로직을 직접 수행하기 보다는 도메인 모델에 로직 수행을 위임한다. public class CancelOrderService { @Transactional public void cancelOrder(String orderId) { Order orde..
[DDD] 1. 도메인 모델 시작하기 1.1 도메인이란? 도메인은 소프트웨어로 해결하고자 하는 문제 영역에 해당한다. 한 도메인은 다시 하위 도메인으로 나눌 수 있다. 한 하위 도메인은 다른 하위 도메인과 연동하여 완전한 기능을 제공한다 예를들어 고객이 물건을 구매하면 주문, 결제 배송, 혜택 하위 도메인의 기능이 엮이게 된다. 도메인마다 고정 된 하위 도메인이 존재하는 것은 아니다. 하위 도메인을 어떻게 구성할지 여부는 상황에 따라 달라진다. 1.2 도메인 전문가와 개발자 간 지식 공유 개발자는 요구사항을 분석하고 설계하고 코드를 작성하며 테스트하고 배포한다. 요구사항을 올바르게 이해하려면 개발자와 전문가가 직접 대화해야 한다. 개발자와 전문가 사이에 내용을 전파하는 전달자가 많으면 많을수록 정보가 왜곡되고 손실이 발생하게 되며, 개발자는..