배우고, 기록하고, 성장합니다 | GitHub

$ls -la ./tags/Domain Driven Design

#Domain Driven Design

8 posts

상태 머신을 도메인 객체로 표현하는 방법

AnalysisStatus와 AnalysisStep Enum으로 분석 파이프라인의 상태 전이 규칙을 캡슐화한 설계를 소개합니다. 정보전문가 패턴과 상태 머신을 결합해 잘못된 상태 전이를 도메인 수준에서 차단하는 방법을 다룹니다.

Domain Model과 JPA Entity를 분리한 이유

OrderEntity에 비즈니스 로직을 넣었다가 테스트가 지옥이 되어, 도메인 모델을 따로 빼게 된 이야기

임시 주문 → 실주문 2단계 결제 모델 설계하기

주문 테이블 하나로 시작했다가 PENDING 주문 폭탄을 맞고, TemporaryOrder를 분리하게 된 이야기

2024.11.04

Value Object 3가지 구현법: Record vs Embeddable vs 커스텀 검증

모든 VO를 Record로 통일하려다 JPA와 충돌하고, 검증 규칙 변경이 기존 데이터를 깨뜨린 뒤 3가지 방식을 공존시킨 이야기

2024.10.21

순환 의존을 이벤트로 끊은 이야기 — Aggregate 간 통신 패턴

Posting과 Step 사이의 순환 의존, 결제 완료 후 장바구니 상태 변경 등 서로 다른 Aggregate 간 이벤트 기반 통신의 실전 경험

2024.10.07

지원 한 번에 리스너 10개가 반응한다 — 부수효과 실전 해부

지원자 온라인 지원 시 발생하는 중복 체크, 이메일, 알림톡, Meta 동기화, 통계 업데이트까지 이벤트 리스너의 실전 코드를 해부한다

2024.09.23

검색에서 지원자가 사라졌다 — BEFORE_COMMIT vs AFTER_COMMIT 삽질기

ApplicantMeta가 간헐적으로 생성되지 않는 버그를 추적하면서 배운 @TransactionalEventListener의 트랜잭션 페이즈 전략

2024.09.09

80줄짜리 UseCase를 15줄로 줄인 이야기 — 도메인 이벤트 도출기

지원자 등록 UseCase가 비대해지면서 겪은 문제와, 도메인 이벤트로 부수효과를 분리하기까지의 과정