TL;DR
ビジネスの観点から、他のドメインより重要で、最も価値のあるドメイン。ドメイン駆動設計では、コアドメインに焦点を当てて実装を始める。
なぜ必要か
Domain Modeling Made Functional 第1章 によると、重要なのは優先順位を付けることと、すべての境界づけられたコンテキストを同時に実装しようとしないことである。最も価値のあるコンテキストに焦点を当て、そこから広げていく。
仕組み
同書では、ドメインはコアドメインのほかに、必要不可欠だがコアではない支援ドメインと、企業に固有ではない汎用ドメインに分けられる。コンテキスト間の関係はコンテキストマップで示す。
同書 第3章 によると、データベースやファイルシステムの読み書きといった I/O などの副作用を持つ関数は、コアドメインからは呼び出さないようにする。
注意点
コアドメインを見つけるのは難しく、思いもよらないものがコアドメインのこともある。