1.1 도메인이란? 온라인 서점은 개발자가 구현해야 하는 소프트웨어의 대상이다. 온라인 서점 소프트웨어는 온라인으로 책을 판매하는 데 필요한 상품 조회, 구매, 결제, 배송 추적 등의 기능을 제공해야 한다. => 온라인 서점은 도메인에 해당한다. 도메인: 소프트웨어로
표현, 응용, 도메인, 인프라스트럭처는 아키텍처를 설계할 때 출현하는 전형적인 네 가지 영역이다. 표현 영역(또는 UI 영역)은 사용자의 요청을 받아 응용 영역에 전달하고 응용 영역의 처리 결과를 다시 사용자에게 보여주는 역할을 한다. 웹 애플리케이션을 개발할 때 많이
도메인 객체 모델이 복잡해지면 개별 구성요소 위주로 모델을 이해하게 되고 전반적인 구조나 큰 수준에서 도메인 간의 관계를 파악하기 어려워진다.주요 도메인 요소 간의 관계를 파악하기 어렵다는 것은 코드를 변경하고 확장하는 것이 어려워진다는 것을 의미한다. 복잡한 도메인을
CQRS: 명령(Command) 모델과 조회(Query) 모델을 분리하는 패턴명령 모델: 상태를 변경하는 기능을 구현할 때 사용조회 모델: 데이터를 조회하는 기능을 구현할 때 사용ex회원 가입, 암호 변경, 주문 취소: 상태(데이터) 변경 기능 -> 명령 모델 사용주문
클라이언트가 요청 파라미터를 포함한 HTTP 요청을 표현 영역에 전달하면, URL, 요청 파라미터, 쿠키, 헤더 등을 이용해서 클라이언트가 원하는 기능을 판별하고 그 기능을 제공하는 응용 서비스를 실행한다.클라이언트가 원하는 기능을 제공하는 것은 응용 영역에 위치한 서
도메인 영역의 코드를 작성하다 보면, 한 애그리거트로 기능을 구현할 수 없을 때가 있다.이때 한 애그리거트에 넣기 애매한 도메인 기능을 억지로 특정 애그리거트에 구현하면 안 된다. 억지로 구현하면 애그리거트는 자신의 책임 범위를 넘어서는 기능을 구현하기 때문에 코드가
한 애그리거트를 두 사용자가 동시에 변경할 때 트랜잭션이 필요하다.트랜잭션마다 리포지터리는 새로운 애그리거트 객체를 생성하므로 운영자 스레드와 고객 스레드는 같은 주문 애그리거트를 나타내는 다른 객체를 구하게 된다.운영자 스레드와 고객 스레드는 개념적으로 동일한 애그리
9.1 도메인 모델과 경계 처음 도메인 모델을 만들 때 도메인을 완벽하게 표현하는 단일 모델을 만드는 것은 어렵다. 한 도메인은 다시 여러 하위 도메인으로 구분되기 때문에 한 개의 모델로 여러 하위 도메인을 모두 표현하려고 시도하면 오히려 모든 하위 도메인에 맞지 않는