Learning
토픽 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