DDD & Event Storming

 

Event Storming

  • 시스템에서 발생하는 이벤트를 중심으로 분석하는 기법: Event-First
  • MSA 분석, 개발의 표준 방법론
  • DDD의 가장 IT 허들 낮은 방법론
  • 반드시 적용해야 하는 건 아님
  • 분석/설계 과정에 IT 전문가가 아니더라도 참여 가능

 

DDD: Domain Driven Design 도메인 주도 설계

 


스티커를 이용한 Event Storming

  • 여러 색으로 된 스티커와 테이프 등을 이용하여 분류

 

Domain Event

  • 발생한 사실, 결과
  • 동사의 과거완료 형태로 작성
  • 가장 중요한 단위 업무
  • 기울어지게 표시하면 추가 논의 필요한 주제

 

Command

  • 현재형으로 작성
  • 상태의 변화를 일으킨다
  • CRUD 중 CUD에 해당

 

Actor 

  • person / system
  • command의 왼쪽에 작성

 

Read Model

  • 의사결정에 필요한 자료
  • 사용자가 참고하는 데이터

 

Policy

  • 비즈니스 정책 등
  • 이벤트에 대한 반응

 

External

  • 외부 시스템

 

Aggregate

  • 연관성 있는 도메인 이벤트들의 집합

 

Bounded Context

  • 하나의 분리된 Bounded Context가 microservice의 후보가 됨