TL;DR

解決したい問題がある現実世界の側。ドメインやサブドメインは問題空間にあり、それを解決するソフトウェアの側(解決空間)と区別して扱う。

なぜ必要か

Domain Modeling Made Functional によると、特定の問題を解決するには、関連する情報だけを取り入れるべきである。問題空間と解決空間を別のものとして扱えば、ドメインのうち必要な側面だけをソフトウェアに持ち込める。

仕組み

まず問題空間のドメインのモデル(ドメインモデル)を作り、必要な側面だけを取り出して解決空間に作り直す。解決空間では、問題空間のドメインとサブドメインが境界づけられたコンテキストに対応付けられる。

注意点

問題空間のドメインと解決空間のコンテキストは、常に一対一とは限らない。1 つのドメインが複数のコンテキストに分かれることも、既存システムとの統合などで複数のドメインが 1 つのコンテキストにまとめられることもある。

関連

出典