Domain-Driven Design


SW의 설계를 진행 할 때 전략적인 설계가 우선적으로 진행된다. 전략은 전술보다 좀 더 큰 개념으로 SW의 기능에 대해 어떻게 활용하거나 비기능적인 목표들을 설정하게 되는 것 이다.


DDD에서는 유비쿼터스 언어(Ubiquitous Language)를 사용한다. (이후 설명)


1.전략적 모델링

바운디드 컨텍스트(Bounded Context)를 설계하고 Context Mapping을 통하여 프로젝트의 경계를 이해한다.

Image result for bounded context

Image result for bounded context

Image result for bounded context


2. 아키텍처

바운디드 컨텍스트를 다루는 강력한 아키텍처는 헥사고날 아키텍처다.

Image result for hexagonal architecture

3. 전술적 모델링

DDD기반을 이루는 패턴을 활용하여 바운디드 컨텍스트 내부를 모델링한다.

애그리게잇(Aggregate)를 중심으로 엔티티(Entity), 값객체(Value Object) 로 구성된다.

이러한 구성요소들은 레파지토(Repository)를 사용해 저장된다.


Image result for domain aggregate



Image result for domain aggregate

'디지털 양피지 > Domain Driven Design' 카테고리의 다른 글

3. 컨텍스트 맵  (0) 2017.12.08
2. 도메인, 서브도메인, 바운디드 컨텍스트  (0) 2017.12.01
1. DDD를 시작하며  (0) 2017.11.29
Posted by 빨간 양말