일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- JPA공부
- 코테공부
- JPA스터디
- JPA예제
- 스프링 공부
- JPA 공부
- 스프링부트
- 프로그래머스
- nestjs공부
- 스프링부트공부
- Flutter
- Kafka
- 자바공부
- JPA
- 기술공부
- Axon framework
- K8S
- 기술면접공부
- querydsl
- DDD
- 자료구조공부
- 스프링
- 코테준비
- nestjs
- 스프링공부
- nestjs스터디
- 카프카
- 알고리즘공부
- 플러터 공부
- 플러터 개발
- Today
- Total
DevBoi
[DDD] 모델링 실습 본문
사내 도서대여시스템 이라고 가정하고 모델링 실습을 해보자
요구 사항은 아래와 같다.
<요구사항>
<업무 흐름>
<이벤트 스토밍>
Miro라는 툴로 이벤트 스토밍을 진행할 수 있다. 온라인 이벤트스토밍 툴이다.
Domain Event
- 시스템에서 발생하는 중요한 이벤트
- 데이터가 아닌 비즈니스 프로세스에 집중
- 과거형 동사로 표현
Hot Spot
- 질문,가정,경고,의견 수렴이 필요한 내용
- 병목 구간,자동화 필요한 수작업, 도메인지식이 없는 경우
- 완전히 정의되지 않은 영역, 해결해야 하는 문제
- 필요한 곳 어디에나 부착 가능
Command
- 이벤트를 트리거 하는 명령
- 현재동사로 표현
Actor
- Command를 동작하게 하는 사용자/역할
- 사람이나 역할의 이름을 명사로 표현
Policy
- 다른 바운디드 컨텍스트에 영향을 주는 이벤트
- Domain Event 가 발생하면 파생되는 동작
- 만약 ~하면 ~ 한다.
External System
- 연계가 필요한 외부 시스템 또는 프로세스
- 명사로 표현
Aggregate
- Domain Event와 Command에 의해 관리되는 데이터
- Domain Event 와 Command를 표현하는 키워드
- 명사로 표현
이 순서로 설게를 진행한다.
설계 내용은 아래와 같다. 우선 이벤트 스토밍은 발생할 수 있는 이벤트들을 스토밍 하는 단계이므로
발생할 수있는 이벤트에 대해서 정리를 하는 것이고, 정리하면 아래와 같다.
<핫스팟 도출>
핫스팟은 도메인 지식이 없는 경우, 혹은 부족한 경우 각각의 이벤트에서 의문점이나 정리되지 않은 부분, 고려해야하는 부분에 대해서 정리해서 첨언식으로 남기는 것을 의미한다.
일단 여기까지 했으면 다음에는 커맨드와 액터를 도출해보자
'Develop > [DDD]' 카테고리의 다른 글
[DDD] 정책 및 외부 시스템 도출 (0) | 2023.06.08 |
---|---|
[DDD] 커맨드 및 액터 도출 (0) | 2023.06.08 |
[DDD] 커뮤니케이션 유형 (0) | 2023.06.08 |
[DDD] CQRS 및 아키텍처 패턴 (0) | 2023.06.08 |
[DDD] 헥사고날 아키텍처, 클린 아키텍처 (0) | 2023.06.08 |