MSA 기초

    [DDD] 도메인 계층의 Structure

    [DDD] 도메인 계층의 Structure

    들어가며 이번 글에서 설명하는 내용은 이희창님의 프로젝트 구조를 기반으로 도메인 계층의 structure를 구성할 때 최소한으로 필요하다고 생각되는 부분만 간추려낸 것이다. 도메인 계층의 structure은 크게 Entity 부, Service 부, DTO 부로 나뉜다. (Entity 부, Service 부, DTO 부는 이해를 돕고자 필자가 부여한 용어이므로 큰 의미를 두지 않았으면 한다.) 도메인 계층 structure에서 각 부분이 하는 역할은 다음과 같다. 1. Entity 부 Entity 부에서는 도메인 객체의 속성과 매서드를 정의한다. 속성과 메서드의 예는 아래와 같다. 속성 name age state 매서드 enableState() disableState() Getter Setter Enti..

    [DDD] 인터페이스 계층과 응용 계층의 구현

    들어가며 DDD를 적용하여 프로젝트를 구성하고 개발하게 되면 대부분의 업무상 중요한 코드들을 도메인 계층에 작성하게 된다. 인터페이스와 계층과 응용 계층은 만들어 놓은 도메인 계층을 기반으로 구현된다. 인터페이스 계층이야 클라이언트와 통신을 하기 위해 필요하다고 이해할 수 있는데, 응용 계층은 반드시 필요한 것인가?라는 생각이 들었다. 이번 글에서는 DDD START! 책에서 나오는 인터페이스 계층과 응용 계층의 역할을 좀 더 알아보도록 한다. 만약 도메인 주도 설계의 계층에 대해서 생소하다면 이전 글을 참고하기 바란다. [DDD] 도메인 주도 설계의 계층 분리에 관하여 들어가며 MSA와 함께 사용되는 도메인 주도 설계 방식에 대해서 정리하려고 한다. 도메인 주도 설계에 대해 이희창 님의 강의에서 처음 ..

    [DDD] 애그리거트란?

    [DDD] 애그리거트란?

    들어가며 도메인 주도 설계 전문가분들과 대화하거나, MSA 관련 강의를 수강할 때 반드시 언급되는 "애그리거트"에 대해서 명확히 이해하려고 여러 가지 자료들을 찾아보았다. 그러다 최범균 님께서 집필하신 "DDD Start!" 라는 책에 애그리거트 개념이 잘 설명되어 있어서 관련 내용을 공유하고자 한다. (절판된 책이라 구하느라 엄청 힘들었다..) 애그리거트(Aggregate) 애그리거트의 뜻 데이터 변경의 단위로 다루는 연관 객체의 묶음 - 에릭 에반스 | 도메인 주도 설계 연관된 엔티티와 값 객체들의 묶음 - SK C&C | 도메인 주도 설계로 시작하는 마이크로 서비스 개발 애그리거트는 모델이나 비즈니스 도메인을 이해하기 위한 거시적인 방법으로 사용된다. 아래의 다이어그램은 DDD Start! 2장에 ..