토픽 90 / 192·마이크로서비스와 API
DDD 전략적/전술적 설계
DDD 전략적/전술적 설계
DDD의 설계를 전략적(시스템 경계) 수준과 전술적(도메인 모델 구현) 수준으로 나누어 체계적으로 수행하는 접근법
전략적 설계 (Strategic Design)
- •Bounded Context: 도메인 모델이 일관성을 유지하는 명확한 경계
- •Context Map: Bounded Context 간 관계를 정의하는 도식
- •Core/Supporting/Generic Domain: 비즈니스 가치에 따른 도메인 분류
- •Ubiquitous Language: BC 내에서 공유되는 일관된 용어체계
전술적 설계 (Tactical Design)
- •Entity: 고유 식별자(ID)로 구분, 생명주기 존재, 상태 변경 가능
- •Value Object: 불변, 속성 값으로 동등성 판단, Side-effect 없음
- •Aggregate: 일관성 경계 단위, Root Entity를 통해서만 접근
- •Domain Event: 도메인에서 발생한 의미 있는 사건, 비동기 통신 기반
- •Repository: Aggregate 영속성 관리, Collection 인터페이스
- •Domain Service: Entity/VO에 속하지 않는 도메인 로직
비교: 전략적(경계/관계/거시적) vs 전술적(모델/패턴/미시적)
연관: DDD, Bounded Context, 마이크로서비스, Event Sourcing