왜?
- DDD가 왜필요한지 알기위해
서문
- 도메인 주도 설계를 하면, 기술 변화가 일어나도, 도메인의 변경점은 없다.
- DDD를 널리 알리고싶었다
1. 도메인 주도 설계란 무엇인가?
- 현실의 문제들을 푼다 → 도메인 → 모델 설계 과정이 필요
- 도메인 = 세상의 어떤것
- 모델 = 대상 도메인의 내부적인 표현(설계, 개발에 필수)
- 소프트웨어 개발자와 <> 도메인 전문가와의 소통시 유용하다. 설계시 에자일 방식으로 하는것 매우 중요
- 전통적 탑다운 방식의 개발(요청문제파악 > 모델 설계 > 개발)에서 에자일 방식(모두가 참여하여 모델 정의)로 변경시 설계단계에서 완벽하지 못한 문제점들 조기의 발견 및 수정 완성할수있는 장점
2. 유비쿼터스 언어
- 도메인 전문가 <> 개발자 사이의 공통된 언어가 필요하다
- 각자 전문 언어가 다름.
- 개발자는 각자
- 모델 구성도만을 그려서 소통필요
- UML과같은경우, 소규모로 각 모델에 따른 구성도 표기 선호
- UML은 간단한 모델 구성도보다 훨씬 복잡도 높음
- 모델 구성 및 UML 작성시, 속성으로 표현되지않는 목적성, 의도, 이슈는 문서로 작성
- 문서 작성시 최대한 간단하도록해야함. 유지 보수성 높여야함. 명료함 필수
- 클래스의 행동 및 제약사항도 표기
- 개발자의 역할은 모델→클래스 관계 → 코드화