DDD (Domain Driven Design)

  • 어느 이해당사자가 존재한다.
  • 이해당사자가 요구하는 어떤 문제를 해결해야 한다.
  • 따라서 문제가 되는 공간을 해결공간으로 만들어야 한다.

아주 큰 도메인을 서브 도메인으로 분리하는데 이를 DDD 전략패턴이라고 칭한다.

 

Domain Model

  • 특정 도메인을 개념적으로 표현
  • 모델의 각 구성요소는 특정 도메인을 한정할 때, 비로소 의미가 완전. 따라서 각 하위 도메인마다 별도의 모델을 만들어 준다.

유비쿼터스 언어

  • 업무전문가와 모델링을 수행하는 사람 (개발자, 분석가, 아키텍트 설계자 등) 은 같은 언어를 사용함을 지향한다.
  • 서로가 공통된 언어를 사용하고 그 언어를 통해서 소통하여야 한다.
  • 용어가 정의될 때마다 아래와 같은 일을 수행한다.
    • 용어사전에 이를 기록하여 명확하게 정의함으로써 다른 사람들도 공통된 언어를 사용할 수 있도록 한다.
    • 이는 중간에 새로운 개발자가 들어올 시에 쉽게 찾아보고 프로젝트의 규모가 커질수록 빛을 발할 것이다.

 

참고자료.

https://bcho.tistory.com/360

 

 

Posted by doubler
,