도메인이란?특정 문제 영역 또는 비즈니스 분야를 가르키는 개념온라인 서점 예시온라인 서점 소프트웨어는 온라인으로 책을 판매하는 데 필요한 상품조회, 구매, 결제, 배송 추적 등의 기능을 제공해야 한다. 이때, '온라인 서점'은 소프트웨어로 해결하고자 하는 문제 영역,
표현, 응용, 도메인, 인프라스트럭처는 아키텍처를 설계할때 출현하는 전형적인 영역이다.표현 : 화면응용 : 사용자에게 제공할 기능 구현도메인 : 로직 수행인프라스트럭처 : 구현 기술 (DB)응용 영역과 도메인 영역은 DB나 외부 시스템 연동을 위해 인프라스트럭처의 기능
3.3 리포지터리와 애그리거트 애그리거트는 개념상 완전한 한 개의 도메인 모델을 표현하므로 객체의 영속성을 처리하는 리포지토리는 애그리거트 단위로 존재한다. 리포지터리는 애그리거트 전체를 저장소에 영속화해야 한다. Order와 OrderLine을 물리적으로 각각
JPA 매핑을 설정할 떄 항상 기억해야 할 점은 애그리거트에 속한 객체가 모두 모여야 완전한 하나가 된다는 것이다. 즉 애그리거트는 하나여야 한다. JPA 즉시 로딩(FetchType.EAGER)으로 구현할 수 있지만 그리 좋은 방법은 아니다.루트 엔티티를 로딩하는 시
별다른 구현 없이 스펙을 만족하는 엔티티 목록을 검색할 수 있다. 스펙 조합 메서드스프링 데이터 JPA의 스펙 인터페이스는 스펙을 조합할 수 있는 메서드 and, or를 제공한다.and() 메서드는 두 스펙을 모두 충족하는 조건을 표현하는 스펙을 생성or() 메서드는
표현 영역표현 영역은 사용자의 요청을 해석한다. 그리고 응용 서비스를 실행한다.응용 영역실제 사용자가 원하는 기능을 제공한다.표현 영역은 응용 서비스가 요구하는 형식으로 사용자 요청을 변환한다.응용 영역은 기능 실행에 필요한 입력 값을 받고 실행 결과만 리턴하면 될 뿐
온라인 쇼핑 사이트에서 매출 증대를 위해 카탈로그 하위 도메인에 개인화 추천 기능을 도입하기로 했다고 하자. 기존 카탈로그 시스템을 개발하던 팀과 별도로 추천 시스템을 담당하는 팀이 새로 생겨서 이 팀에서 주도적으로 추천 시스템을 만들기로 했다. => 카탈로그 하위 도
쇼핑몰에서 구매 취소시 환불 처리를 해야한다. 도메인 객체에서 환불 기능을 실행하려면 환불 기능을 제공하는 도메인 외부 서비스를 호출하여 실행한다.세 가지 문제가 발생할 수 있다.1\. 외부 서비스가 정상이 아닐 경우 트랙잭션 처리를 어떻게 할것인지.2\. 성능, 환불