몰입하며 나아가는 개발이란

Architecture, Desgin Pattern

도메인 주도 설계란?(DDD)

류하을 2022. 4. 6. 10:00

도메인 주도 설계란?(DDD)

Domain-Driven Design

도메인 주도 디자인이란 도메인이 중심이 되는 개발 방식을 말하며, 요구 사항을 모으는 것부터 low_level 디자인까지 소프트웨어 개발의 라이프사이클 전체를 포함하는 방법론 이라고 할 수 있습니다.

 

DDD의 목적은 소프트웨어의 연관된 부분들을 연결하여 계속 해서 진화하는 모델을 만들어 나가 복잡한 어플리케이션을 쉽게 만들어 가는 것에 있습니다. 즉, Loose Coupling과 High Cohesion으로 보다 가벼운 설계로 소프트웨어의 위기와 커뮤니케이션 문제를 해결하기 위해 탄생하였습니다.

 

DDD는 크게 Strategic DesignTactical Design으로 단계가 나뉘며,

-Strategic Design에서는 Context, Model, Ubiquitous Language, Bounded Context, Context Map, Damain Model을 다루고

-Tactical Design에서는 Layered Architecture, Value Object, Aggregate, Domain Events, Factories, Repositories, Entity를 다룹니다.

 

DDD의 주요 원리

  1. 도메인 모델의 적용 범위를 구현까지 확장하여 도메인 지식을 구현 코드에 반영
  2. 공통의 언어(Ubiquitous Language)를 사용하여 도메인과 구현을 충분히 만족하는 모델을 작성.
  3. 실제 코드로 구현 가능한 현실성 있는 도메인 모델 분석과 그것을 추상화 하는 설계.

'Architecture, Desgin Pattern' 카테고리의 다른 글

Entity, DTO, VO개념  (0) 2022.04.11
ORM이란?  (0) 2022.04.08
RESTful이란?  (0) 2022.04.01
Singleton Pattern (싱글톤 패턴)  (0) 2019.12.11
Object Oriented Programing(객체 지향 프로그래밍)  (0) 2019.12.03