1.1 도메인이란? 책을 사기 위한 온라인 서점을 구현해야될 소프트웨어라고 생각을 해본다. 온라인 서점은 상품 조회, 구매, 결제, 배송 추적 등의 기능을 제공한다. 이때 온라인 서점은 소프트웨어로 해겨라고자 하는 문제 영역, 즉 도메인에 해당한다. 1.1.1 하위
2.1 네 개의 영역 아키텍처를 설계할 때 표현, 응용, 도메인, 인프라스트럭처로 4가지 영역이 보통 출현한다. 표현 영역: 사용자의 요청을 받아 응용 영역에 전달한다. 응용 영역의 처리 결과를 다시 사용자에게 보여준다. 응용 영역:
상위 수준에서 모델을 정리했을 때의 도메인 모델들이다. 상위 수준에서 모델을 정리하기 위해선 도메인 전문가와 많은 대화를 나눠야 상위 수준에서 모델 간의 관계가 이해가 된다.많은 테이블을 한 장의 ERD에서 표현을 하고 테이블 간의 관계를 파악하느라 큰 틀에서 데이터
레포지터리 인터페이스는 애그리거트와 같이 도메인 영역에 속하고, 레포지터리를 구현한 클래스는 인프라스트럭처 영역에 속한다.레포지터리 구현 클래스를 domain.impl과 같은 패키지에 위치시킬 수 있지만 인터페이스와 구현체를 분리하기 위한 타협안 같은 것일 뿐 좋은 설
CQRS는 명령 모델과 조회 모델을 분리하는 패턴이다.상태를 변경하는 기능을 구현할 때 사용도메인 모델은 명령 모델로 주로 사용데이터를 조회하는 기능을 구현할 때 사용검색 조건이 고정되어 있고 단순하면 특정 조건으로 조회하는 기능을 만들 수 있다.다양한 조건으로 조합해
도메인 영역을 구현을 잘 한다고 소포트웨어 구현이 끝나는 것은 아니다.도메인이 제 기능을 하려면 사용자와 도메인을 연결해 주는 매개체가 필요하다.사용자의 요청을 해석한다.요청을 받은 표현 영역은 URL, 요청 파라미터, 쿠키, 헤더 등을 이용해서 사용자가 실행하고 싶은
7.1 여러 애그리거트가 필요한 기능 > - 한 애그리거트로 기능을 구현할 수 없을 때 주의할 점 한 애그리거트에 넣기 애매한 도메인 기능을 특정 애그리거트에 구현하기 되면 책임 범윌르 넘엇는 기능을 구현하게 된다. 해결 방법 도메인 기능을 별도 서비스로 구현 7
개념적으로 동일한 애그리거트지만 물리적으로 서로 다른 래그리거트 객체를 사용한다. 서로의 애그리거트 객체에 영향을 주지 않는다.두 스레드는 각각 트랜잭션을 커밋할 때 수정한 내용을 DB에 반영한다. 이 순서의 문제점은 운영자는 기존 배송지 정보를 이용해서 배송 상태로
9.1 도메인 모델과 경계