
이전 글: https://gojs.tistory.com/67 DDD에서 표현 계층과 응용 계층 구성하기응용 계층 구성응용 계층은 도메인 객체를 사용해서 사용자가 원하는 기능을 제공한다.응용 계층은 표현 계층에 의존성을 가지지 않으며 어떤 통신을 이용하는지 등의 정보를 알 필요는 없다. gojs.tistory.com 하나의 애그리거트를 대상으로 동시에 다른 두 요청이 들어왔을 때 일관성이 깨질 수 있다.만약 위의 그림과 같이 하나의 계좌에 대해 1,000원 출금/입금 거래가 동시에 들어왔다고 가정해보자.트랜잭션 처리가 정상적으로 이루어지지 않는다면 최종 커밋이 유효하게 처리되어 계좌 잔액이 2,000원이 되어 일관성이 깨지게 된다. 선점 잠금선점 잠금은 애그리거트를 선점한 요청이 모두 끝나기 전까지 다른 ..
이전 글: https://gojs.tistory.com/66 JPA를 활용한 DDD 적용JPA를 사용하지 않고 MyBatis나 JDBC를 활용하더라도 의존성을 잘 관리한다면 충분히 DDD를 적용할 수 있다.그러나 JPA와 같은 ORM을 사용한다면 도메인 모델과 데이터 모델을 매핑하는 다양한 기능을gojs.tistory.com 응용 계층 구성응용 계층은 도메인 객체를 사용해서 사용자가 원하는 기능을 제공한다.응용 계층은 표현 계층에 의존성을 가지지 않으며 어떤 통신을 이용하는지 등의 정보를 알 필요는 없다. public Result processSomething(FunctionRequest request) { Aggregate aggregate = aggregateRepository.findById(..