DDD (Domain Driven Design)
별점: ★★★★☆ | ☆ 예측
답안.
Ⅰ. 개요
정의: 복잡한 비즈니스 도메인을 소프트웨어에 반영하기 위한 설계 방법론. Eric Evans 제안(2003). 바운디드 컨텍스트 (Bounded Context):
Ⅱ. 핵심 구성요소
정의: 복잡한 비즈니스 도메인을 소프트웨어에 반영하기 위한
설계 방법론. Eric Evans 제안(2003).
[전략적 설계]
바운디드 컨텍스트 (Bounded Context):
명확한 경계를 가진 도메인 컨텍스트
= "주문 컨텍스트", "결제 컨텍스트", "재고 컨텍스트"
경계 안에서 유비쿼터스 언어(공통 언어) 사용
유비쿼터스 언어 (Ubiquitous Language):
개발자+도메인 전문가가 공유하는 공통 언어
코드 클래스명과 일치 → 코드가 도메인 설명
컨텍스트 맵 (Context Map):
바운디드 컨텍스트 간 관계 정의
Upstream/Downstream, ACL(변환 계층)
[DDD 핵심 패턴]
엔티티 (Entity):
고유 식별자를 가진 객체 (Order #12345)
값 객체 (Value Object):
식별자 없음, 값으로 동등성 (Money(1000, "KRW"))
애그리게이트 (Aggregate):
엔티티+값객체의 일관성 경계
루트를 통해서만 외부 접근
해당 키워드의 기술적 구성요소와 동작 원리를 서술한다.
### Ⅲ. 특징 및 비교
핵심 기술의 장단점과 유사 기술과의 차이를 분석한다.
### Ⅳ. 적용 사례
실무 환경에서의 적용 사례와 기대효과를 제시한다.
### Ⅴ. 전망
최신 기술 동향과 향후 발전 방향을 서술한다.