DDD(Domain-Driven Design)

cch_chan·2022년 4월 7일
0

DevOps

목록 보기
6/19

DDD(도메인 주도설계)란 무엇인가?
하나의 모메인 모델에 대한 이해관계가 팀마다 다름을 인정하고,
각 팀에 적합한 하위 도메인(ex. 주문, 배달, 결제 등)을 설정하고,
해당 하위 도메인에 대한 맥락을 알고 있는 사람이 따라야할 비즈니스 규칙에 대한 경계를 설정하는 설계 방식

-> 도메인 내부에서 문제 해결이 가능한 형태로 도메인을 모델링하는 기법

도메인 모델(Domain Model)
도메인에 대한 구체적인 설계, 도메인을 개념적으로 표현한것

DDD Overview

전략적 설계 (개념 설계), 전술적 설계 (구체적 설계)로 구분
전략적 설계

  • 복잡한 도메인의 맥락(context) 경계를 명확히 정의하는 과정
  • Bounded Context안의 도메인 모델에서 보편 언어를 개발하는 방법
  • 도메인에서 서브 도메인으로 복잡성 분리
  • 컨텍스트 맵핑 기술을 활용해 여러 개의 Bounded Context를 통합
  • 이벤트 스토밍 기법을 활용해 Bounded Context 식별

전술적 설계

  • 전략적 설계에서 더 상세한 부분(Bounded context 내부) 모델링
  • Model Driven Design
  • 계층형 아키텍처를 통한 도메인 모델 분리
  • 도메인 이벤트를 통해 도메인을 보다 명확히 모델링

주요 용어
Bounded context란?
Bounded Context는 Domain-Driven Design의 중심 패턴입니다. 대규모 모델과 팀을 다루는 것이 DDD의 전략적 설계 섹션의 초점입니다. DDD는 큰 모델을 서로 다른 Bounded Context로 나누고 상호 관계를 명시하여 처리합니다.
보편 언어 (ubiquitous language)
도메인의 특정 업무와 관련된 사람들 사이에서 통용되는 개념

profile
꾸준히 새로운 기술을 배워나가는중입니다.

0개의 댓글