image.png

LAYERED ARCHITECTURE는 컴퓨터 시스템을 동작하게 하는 기술적 로직으로부터 도메인 개념을 분리하지만 규모가 큰 시스템에서는 격리된 도메인조차도 관리할 수 없을 정도로 복잡해질 수 있음

디스틸레이션은 혼합된 요소를 분리해서 본질을 좀 더 값지고 유용한 형태로 뽑아내는 과정.

갖가지 화학적인 증류 과정을 거치는 것과 마찬가지로 분리된 부산물은 그 자체로 증류 과정을 거쳐(일반 하위 도메인과 응집력 있는 메커니즘으로) 더욱 값지게 되는데, 이러한 노력은 핵심 도메인을 추출하려는 욕망에서 비롯됨.

도메인 모델에 대한 전략적 디스틸레이션은 다음과 같은 사항을 모두 수행함

  1. 팀원들이 시스템의 전체 설계와 해당 설계가 어떻게 함께 조화될지 파악하게끔 도움
  2. 유비쿼터스 언어의 일부가 될 수 있게 관리 가능한 크기의 핵심 모델을 식별해서 의사소통을 촉진함
  3. 리팩터링을 이끔
  4. 가장 중요한 모델 영역의 업무에 초점을 맞춤
  5. 아웃소싱, 기성 컴포넌트의 활용, 할당에 관한 의사결정을 도움

본장에서는 핵심 도메인의 전략적 디스틸레이션을 향한 체계적인 접근법을 다루고 팀 내에서 전략적 디스틸레이션의 관점을 사실상 공유하고 현재 하고 있는 일에 관해 의사소통하기 위한 언어를 제공하는 법을 설명함

image.png