Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

최근 AI코드 생성기에 의해 설계활동및 과정이 무시되거나 목업(UI부터그리기)을 통한 즉흥 코드 생성방식이 유행인것같으며

도메인 모델을 고민하는 DDD방식에 이벤트 드리븐 코드 생성도 AI 생성방식이 없을까 고민하다가 시도된 방식으로

한방 IDE툴이 있으면 좋겠지만 도메인 모델과 코드구현을 분리해 시도해보았습니다. 


이용된 AI  툴 :

  • 도메인 모델 생성

...

도메인 모델및 이벤트 만들기

Info

장바구니 기능을 만들고 싶은 단순하게 장바기느를 구매만 이용하는게 아닌

장바구니의 이벤트를 활용(담기/빼기..), 이벤트를 추적해 구매자의 최종 구매 심리적 요인과

구매예측을 만들고 싶음 기본 이벤트를 설계해.... 

...

⚖️ DurableStateBehavior vs EventSourcedBehavior

항목DurableStateBehaviorEventSourcedBehavior
저장 전략최종 상태만 저장 (snapshot-like)모든 이벤트를 append-only log로 저장
조회 성능빠름 (단일 상태 조회)느림 (리플레이 필요)
디스크 사용량적음 (단일 상태만 저장)많음 (전체 이벤트 저장)
롤백/감사 추적불가능 or 제한적완전한 시간 순 추적 가능
주 용도CRUD 스타일, 단순 상태 저장 (ex. 장바구니, 설정 등)이벤트 소싱 기반 복원 필요 시스템
복원 속도매우 빠름느릴 수 있음 (스냅샷 없을 시 전체 이벤트 재생)
복잡도단순함

상대적으로 복잡함 (이벤트 설계 필요)



✅ 사용 예 요약

Use Case권장 방식
장바구니 구매 확정✅ DurableStateBehavior
주문 처리 로그 추적❗ EventSourcedBehavior
사용자 프로필 설정 저장✅ DurableStateBehavior
이력 기반 복원 가능한 상태❗ EventSourcedBehavior


🔄 확장 아이디어

DurableStateBehavior를 기반으로 하되, CheckoutSuccess를 외부 Kafka/DB 등에 이벤트로 publish하려면:

...