자바캔 '최범균'님께서 Domain Driven Design 관련해서 3가지 주제로 생각을 들려주신 시리즈
#1 Bounded Context + Microservice
특히 인상 깊었던 부분은 'Project'가 있고, 그 'Project' 에 참여하는 'User' 에 관한 이야기(10:15)
'User'는 'User' 도메인에서 'User'일 뿐, 'Project' 도메인에선 'User'가 아니고 Project 의 'Member' 로 봐야한다.
내가 느낀 결론은 '도메인의 경계를 잘 나누자' 그리고 마치 다른 서비스인것처럼 사용하자!
#2 Event Sourcing + Aggregate
이벤트 소싱의 실제 코드 작성 요령 (12: 45)
문제 상황에 빠진 경우, 어떻게 그런 상황에 빠지게 된건지 추적하는 일은 꽤 자주 발생하는데, '이벤트 소싱' 방식으로 개발하면 너무 추적이 쉬울것 같다.
중간에 스냅샷 나오면 또 복잡해질것 같고,
이야기하신것 처럼 최종결과 리포트 만드는것도 쉽지 않을듯.
#3 SAGA ( = Long Lived Transaction )
굳이 DDD 가 아니더라도 '프로세스 매니저'를 고민해봐야겠다
프로세스 매니저 '주문' 예 (14:06)
항상 '최범균'님 강의나 책은 이해가 쉬워서 너무 좋다.
'이벤트' 를 중심으로 개발하는 습관을 들여봐야겠다. '이벤트'를 사용하면, (어제 정리한) SOLID 클래스의 설계 원칙중 'OCP' 를 지키는 좋은 방법같다.
책도 다시 읽어봐야지...

Links
자바캔(Java Can Do IT): javacan.tistory.com/