본문 바로가기

728x90
반응형

책리뷰/도메인 주도 개발 시작하기(DDD핵심 개념 정리부터 구현까지)

(11)
도메인 주도 설계(DDD) 애그리거트 목차 애그리거트 복잡한 도메인을 이해하고 관리하기 쉬운 단위로 만들려면 상위 수준에서 모델을 조망할 수 있는 방법이 필요한데, 그 방법이 바로 애그리거트다. 애그리거트 장점 모델을 이해하는데 도움을 준다. 일관성을 관리하는 기준이 된다. 복잡한 도메인을 단순한 구조로 만들어준다. 복잡도가 낮아져서 도메인 기능을 확장하고 변경하는데 필요한 노력이 줄어든다. 애그리거트 특징 애그리거트에 속한 객체는 유사하거나 동일한 라이프 사이클을 갖는다. 한 애그리거트에 속한 객체는 다른 애그리거트에 속하지 않는다. 독립된 객체군이며 각 애그리거트는 자기자신을 관리할 뿐 다른 애그리거트는 관리하지 않는다. 경계설정시 기본은 도메인 규칙과 요구사항이다. 애그리거트루트 도메인규칙을 지키려면 애그리거트에 속한 모든 객체가 정상..
도메인 주도 설계 아키텍처 아키텍처 전형적인 네 가지 영역 표현 응용 도메인 인프라스트럭처 표현 영역 사용자의 요청을 받아 응용 영역에 전달하고, 응용영역의 처리 결과를 다시 사용자에게 보여주는 역할. 웹브라우저가 HTTP 요청 파라미터로 전송한 데이터를 응용서비스가 요구하는 형식의 객체 타입으로 변환해서 전달, 응용서비스가 리턴한 결과를 JSON형식으로 변환해서 HTTP응답으로 웹브라우저에 전송 응용 영역 시스템이 사용자에게 제공해야할 기능 구현. 도메인영역의 도메인 모델을 사용. 로직을 직접 수행하기보다 도메인 모델에 로직 수행을 위임함. ex) 주문등록, 주문취소, 상품상세조회 도메인영역 도메인모델 구현. ex) 주문 도메인 '배송지 변경', '결제완료' 등 핵심 로직을 구현 인프라스트럭처영역 구현기술에 대한 것. RDBMS..
도메인(DDD)주도 개발 도메인이란 도메인이란? 소프트웨어로 해결하고자 하는 문제 영역 일반적인 요구사항 ex, 온라인 서점 특정 도메인을 위한 소프트웨어라고 해서 모든 기능을 직접 구현하는 것은 아님(배송시스템, 결제시스템 등) 도메인 모델 도메인 자체를 이해하기 위한 개념 모델 여러 관계자들이 동일한 모습으로 도메인을 이해하고 도메인 지식을 공유하는 데 도움이 됨 도메인 계층 도메인의 핵심 규칙을 구현 ex) 주문 도메인 > 출고 전에 배송지 변경할 수 있다, 주문 취소는 배송 전에만 가능하다 라는 규칙이 도메인 계층에 위치 개념모델 : 순수하게 문제를 분석한 결과물로 데이터베이스, 트랜잭션처리, 성능, 구현 기술과 같은 것을 고려X 처음부터 완벽한 개념모델을 만들기보다는 구현하는 과정에서 구현 모델로 점진적으로 발전 시켜야 함 엔티티..

728x90
반응형