This is an old revision of the document!
Tackling Complexity in the Heart of Software
복잡한 도메인(문제 영역)을 이해하고 모델링하고, 공통 언어로 소통하는데 초점을 맞추는 방법론.
본문 내용 출처 : Eric Evans. 『도메인 주도 설계』. 이대엽(역). 위키북스, 2011.
Part I: Putting the Domain Model to Work
대개 컴퓨터와 관련 없다
도메인 지식의 부담을 해소하기 위한 도구
DDD에서는 아래의 세 가지 기본적인 쓰임새에 따라 모델을 선택한다
해당 소프트웨어의 사용자를 위해 도메인에 관련된 문제를 해결하는 능력. 그 뿐만 아니라 모델링 기법을 연마해서 도메인 설계에 통달해야 한다.
대부분의 유능한 개발자는 다뤄야 할 특정 도메인을 학습하는 데 관심이 많지 않으며, 더군다나 도메인 모델링 기법을 쌓는 데는 더더욱 전념하지 않는다. 엔지니어들은 자신의 기술력을 훈련할 수 있는 정략적인 문제를 좋아한다.
Part II: The Building Blocks of a Model-Driven Design
도메인 주도 설계 과정을 탄력성 있게 만들려면 개발자들은 잘 알려진 근본 원리들이 어떻게 Model-Driven Design을 뒷받침하는지 이해해야 한다. …
3개의 장은 패턴 언어로로 구성돼 있으며, 미묘한 모델의 특징과 설계 의사결정이 어떻게 도메인 주도 설계 과정에 영향을 주는지 보여주겠다 …
정교한 모델은 가장 근본적인 사항에 관심을 가질 때만 비로소 복잡성을 헤쳐나갈 수 있으며, 이는 팀에서 확신을 갖고 결합할 수 있는 상세 요소라는 결과로 나타난다.
Part III: Refactoring Toward Deeper Insight
Levels of Refactoring
Deep Models
Deep Model/Supple Design
The Discovery Process
Part IV: Strategic Design