패스트캠퍼스 챌린지 27일차
이벤트 스토밍의 방식을 바탕으로한 자세한 모델링
1. Domain Event 정의(모든 상황을 일단 나열)
- Actor가 Action을 해서 발생한 결과는 어떤 것이 있는가?
- 각자 생각나는 Event 를 적고 더 이상 생각이 안 날 떄까지 붙임.
- 서로 중복되는 것을 없애거나 합침.
- 포스팃으로 정리
- 이벤트가 발생하는시간 순서대로 붙임. 동시수행되는 이벤트는 이벤트는 수직으로 붙임.
- 비즈니스 용어로 무슨 일이 발생했는 지 적어야 함. 시스템 내에서(개발)발생하는 것을 찾는 것이 아님. (사용자 입장에서 이해 할 수 있는 언어로!)
예)
참고) 점선: 이벤트가 아예 분리되어 있는 것. (다른 actor가 하는 것)
2. 프로세스 그룹핑
그룹핑 예)
Step3. Commad 정의
- 사용자의 행위 == Command => Command는 일반적으로 무엇을 요청한다
- 각 Event 별로 그 Event 를 발생시키는 Command 가 무엇인지 생각하여 Event 왼쪽에 붙임. (Command1개에 1개 이상의 Event가 발생할 수도 있음)
예.
Step4. Trigger 정의
- Command를 수행하는 Actor정의. Actor를 Command의 왼쪽 하단에 겹쳐서 붙임.
- Event발생과 관련된 외부 시스템이 있다면 Event우측 상단에 겹쳐서 붙임.
예.
Step5. Aggregate 정의
- Command수행을 위한 CRUD(가공)해야 하는 데이터 객체 정의(=Command를 수행해서 Event를 발생시키려면 어떤 데이터 및 정보가 필요한 지 각 Command 와 Event 사이의 위에 적음)
Step6. Bounded Context 정의
- 현재까지 처리한 메타 정보(Actor의 Action/Event/Command의 CRUD 및 DB...)에 바탕한 그룹핑
예.
Step7. Context MAP 작성
- 큰 카테고리 간의 서비스 간략화
인증
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성 되었습니다.
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online!
'OS and 코딩 > AWS' 카테고리의 다른 글
CH01_13. (VPC) VPC EndPoint 만들기 (0) | 2021.11.29 |
---|---|
CH02_05. (백엔드) Django 기초 1 (0) | 2021.11.28 |
CH02_03. (설계) 도메인 주도 설계 개요 (0) | 2021.11.26 |
CH02_02. (개요) 프로젝트 개요(온라인 주문 어플리케이션) (0) | 2021.11.25 |
한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online CH02_01. (0) | 2021.11.24 |