도메인

· DDD
네 개의 영역 표현(UI) 영역 사용자의 요청을 받아 응용 영역에 전달 응용 역영의 처리 결과를 다시 사용자에게 보여주는 역활 응용(Application) 영역 시스템이 사용자에게 제공해야 할 기능을 구현 예를들어 주문등록, 주문취소, 상품상세조회 등등 기능을 구현하기 위해 도메인 영역의 도메인 모델을 사용한다. 로직을 직접 수행하지 보다는 도메인 모델에 로직 수행을 위임한다. 도메인(Domain) 영역 도메인의 핵심 로직을 구현한다. 예를들어 주문 도메인인 경우 배송지 변경, 결제완료, 주문총액계산 등등 인프라스트럭처(Infrastructure) 영역 구현 기술에 대한 것을 다룬다. RDBMS 연동을 처리하고, 메시징 큐에 메시지를 전송하거나 수신하는 기능을 구현 HBase, 몽고DB등을 사용하여 데이..
· DDD
엔티티 (ENTITY) 고유의 식별자를 갖는 객체로 자신의 라이프사이클을 갖는다. 도메인 모델의 데이터를 포함하며 해당 데이터와 관련된 기능을 함께 제공한다. 밸류 (VALUE) 고유의 식별자를 갖지 않는 객체로 주로 개념적으로 하나인 도메인 객체의 속성을 표현할 때 사용한다. 엔티티의 속성으로 사용될 뿐만 아니라 다른 밸류 타입의 속성으로도 사용될 수 있다. 애그리거트 (AGGREGATE) 관련된 엔티티와 밸류 객체를 개념적으로 하나로 묶은 것 도메인 서비스 (DOMAIN SERVICE) 특정 엔티티에 속하지 않는 도메인 로직을 제공한다. 도메인 로직이 여러 엔티티와 밸류를 필요로 할 경우 도메인 서비스에서 로직을 구현한다. 예를 들어 '할인 금액 계산'은 상품, 쿠폰, 회원 등급, 구매 금액 등 다양..
· DDD
표현 영역과 응용 영역은 사용자와 도메인을 연결해 주는 매개체 역활을 한다. 응용(Application) 영역 도메인 객체를 사용해 사용자가 요청한 기능을 실행한다. 표현 영역에서 보았을때 응용 서비스는 도메인 영역과 표현 영역을 연결해 주는 창구인 파사드(facade) 역활을 한다. 도메인 로직의 일부를 구현하지 않도록 주의해야 한다. 주된 역활 중 하나는 트랜잭션 처리이다. 응용 서비스의 구현 응용 서비스 자체는 복잡한 로직을 수행하지 않기 때문에 구현은 어렵지 않다. 구현은 어렵지 않지만 응용 서비스의 크기는 생각해보아야 한다. 보통 다음의 두 가지 방법 중 한 가지 방식으로 구현한다. 한 응용 서비스 클래스에 한 도메인의 모든 기능 구현하기 예) MemberService, OrderService ..
· DDD
참조 투명성 관련 문제 public class OrderLine { privateProduct product; private Money price; private int quantity; public OrderLine(Product product, Money price, int quantity) { this.product = product; this.price = price; this.quantity = quantity; } } Product product = new Product("티셔츠"); Money price = new Money(1000); OrderLine line = new OrderLine(product, price, 2); // OrderLine에 price값이 변경될 수 있다. pric..
· DDD
여러 애그리거트가 필요한 기능 도메인 영역의 코드를 작성하다 보면 한 애그리거트로 기능을 구현할 수 없을 때가 있다. 여러 애그리거트로 로직을 구현하게 되면 어떤 애그리거트가 주체인지 애매하다. 만약 한 애그리거트가 주체로 구현할 경우 해당 애그리거트는 책임 범위를 넘어서는 기능을 구현하기 때문에 코드가 길어지고 외부에 대한 의존이 높아지게 된다. 게다가 애그리거트의 범위를 넘어서는 도메인 개념이 애그리거트에 숨어들어서 명시적으로 드러나지 않게 된다. 이런 문제를 해소하기 위해 도메인 서비스를 별도로 구현한다. 도메인 서비스란? 한 애그리거트에 넣기 애매한 도메인 개념을 구현하려면 애그리거트에 억지로 넣기보다는 도메인 서비스를 이용하여 도메인 개념을 명시적으로 드러내면 된다. 도메인 서비스는 상태가 없이..
beekei
'도메인' 태그의 글 목록