도메인 주도 설계 - 08. 도약

백근영·2020년 2월 16일
0
post-thumbnail

심층 모델

심층 모델이란 도메인의 피상적인 측면은 배제하고 도메인 전문가의 주요 관심사와 가장 적절한 지식을 알기 쉽게 표현하는 모델이다. 이 심층 모델은 초기 모델링 단계에서 바로 완성되는 것이 아니다. 개발자가 도메인 전문가와 끝없이 소통하고 둘 사이에 사용하고 있는 ubiquitous language의 간극을 인식해야 하며 이를 통해 눈에 보이지 않는 심층적인 통찰력을 모델에 반영해야 한다.그렇게 도메인 측면의 리팩토링을 여러번 거치면서 초기 모델은 심층 모델에 다가간다.

도약

가장 중요한 통찰력은 어느 순간 갑자기 떠오르고 그에 따른 충격은 프로젝트 전체로 퍼져나간다. 리팩토링을 통해 맹렬하게 이뤄지는 변경은 모델을 사용자의 현실과 우선순위에 부합하게 만든다.
복잡성이 사라지는 바로 그때 갑자기 모델의 융통성과 표현력이 높아진다.

기본에 집중하라

도약이 등장할 수 있는 무대를 마련하려면 지식탐구와 함께 인내심을 가지고, ubiquitous language를 만드는 일에 집중해야 한다. 중요한 도메인 개념을 조사하고 그러한 개념을 모델 내에 명시적으로 표현한다.
유연해지도록 설계를 정제한다. 모델의 정수를 추출한다. 도약에 앞서 명확함을 늘리는 데 도움이 되는 이러한 예측 가능한 계층을 만드는 노력을 멈춰서는 안된다.

profile
서울대학교 컴퓨터공학부 github.com/BaekGeunYoung

0개의 댓글