DDD란?
DDD(Domain-Driven Design), 도메인 주도 설계는 비즈니스 Domain 별로 나누어 설계하는 설계 방법 입니다.
서비스는 고객의 요구사항이나 비즈니스 환경의 변화에 따라 지속적으로 업데이트 되고 변화합니다. 하지만 이러한 변화에 맞춰 시스템의 복잡성을 관리하는 것은 쉽지 않습니다. 이러한 문제를 해결하기 위해 DDD 방법론이 만들어졌습니다.
DDD는 서비스의 ‘기능’을 기준으로 코드를 구분하지 않고, ‘도메인’이라는 비즈니스 영역을 기준으로 코드를 구분하는 것이 핵심입니다.
Event Storming
Event Storming은 서비스와 관계 있는 모든 이해 관계자들이 서로가 가지고 있는 생각을 공유하며, 서비스에서 발생하는 이벤트를 중심(Event-First)으로 분석하는 기법입니다.
Event Storming은 서비스에서 발생하는 주요 이벤트를 중심으로 도메인 모델을 만드는 방법론입니다. 모든 이해관계자들이 참여하여 서비스에서 발생하는 이벤트를 정의하고, 그 이벤트가 어떻게 발생하는지를 함께 이해하려는 접근 방식입니다.
Domain Event
도메인에서 실제로 발생하는 ‘결과’입니다.
실제 요청 사항을 통해 발생한 결과를 ‘도메인 이벤트(Domain Event)’라고 합니다. 이는 서비스에서 발생한 사실, 결과, 특정 행위의 Output을 표현하기 위해 사용됩니다.
Command
도메인에서 특정 주체가 요청하는 ‘행위’입니다.
예를 들어 고객이 “자동차를 대여하겠다”는 요청을 한다면, 이는 Command로 분류됩니다.
'IT' 카테고리의 다른 글
Service API 개발 할 때 고려할 사항 (1) | 2024.12.06 |
---|---|
Build, Deploy, Complie (0) | 2023.06.13 |
WEB-INF와 META-INF 차이 (0) | 2023.06.13 |
Cloud Agent Error: Can not send requests to reserved address. Make sure address is publicly accessible or select a different agent. (0) | 2023.05.25 |
REST란? (0) | 2023.05.11 |