에릭 에반스가 저술한 『도메인 주도 설계』란 책이 세상에 나온 지도 어느덧 10여 년이 흘렀다. 엔터티, 값 객체, 애그리게잇, 서비스, 이벤트, 팩토리, 리파지토리 등의 요소를 바탕으로, 현실에 드러나는 모습을 도메인 모델로 옮기는 디자인 과정은 소프트웨어 설계에서 가장 널리 사용되는 강력한 도구로 자리잡았다. 전통적인 객체지향 디자인뿐만 아니라 함수형 프로그래밍에 이르기까지, 도메인 주도 설계는 프로젝트에서 어떤 언어나 프레임워크를 선택하든 디자인을 위해 반드시 참고하게 되는 필수적인 도구가 됐다.
하지만 도메인 주도 설계 경험이 부족한 팀이 도메인 주도 설계의 개념을 실제 프로젝트에 적용하기엔 에반스의 『도메인 주도 설계』는 너무 개념에 치중돼 있으며 추상적이었다. 『도메인 주도 설계』에선 도메인 모델을 구성하는 요소를 분류하며 개념적 특징을 잘 정리하고 있지만, 이를 현실에 적용하는 방법을 구체적인 예제로 충분히 보여주진 못했기 때문에 실제 프로젝트에 적용하기가 매우 어려웠다. 『도메인 주도 설계』를 읽고 실제 소프트웨어 설계 과정에서 활용해보려는 개발자들은 구체적 활용법을 떠올리지 못해 큰 혼란에 빠지기 십상이었다. 그 유용함에 비해 도메인 주도 설계가 널리 활용되지 못했던 이유는 『도메인 주도 설계 구현』과 같은 실용적인 지침서가 아직 등장하지 않았기 때문이 아닐까.
반 버논(Vaughn Vernon)은 이 책을 통해 도메인 주도 설계를 엔터프라이즈 애플리케이션 구축 프로젝트에서 활용하는 방법을 현실적이고 실용적인 예제를 바탕으로 설명한다. 그리고 이 책에서 다루는 내용만으로도 도메인 주도 설계의 경험이 없는 독자까지 깊이 있는 이해를 얻을 수 있도록 개념적으로도 충실하다. 에반스의 책에선 다루지 못했던 CQRS나 이벤트 소싱 등의 새로운 주제를 함께 설명하고 있으며 스프링, REST, NoSQL, 데이터 그리드 등과 같은 실용적 기술을 반영해 예제를 구성했다.
이 책을 읽고 나면, 도메인 주도 설계를 현재 진행 중인 프로젝트에 바로 적용할 준비가 되었음을 깨닫게 될 것이다. 도메인 주도 설계의 복잡하고 폭넓은 주제에 대해 이론과 실제를 묶어준 이 책은 독자가 도메인 주도 설계의 모든 중요 개념을 자신의 프로젝트에 적용할 수 있게 만들어줄 것이라고 확신한다.