ユビキタス言語
2006 年 10 月 31 日
「ユビキタス言語」とは、エリック・エヴァンスが著書 『ドメイン駆動設計』で使用している用語で、開発者とユーザーの共通言語として厳密に構築する実践を指します。この言語はソフトウェアで使用される ドメインモデル に基づいている必要があります。そのため、曖昧性への耐性がないソフトウェアがうまく動作しないことから、厳密である必要があります。
エヴァンスは、ドメインエキスパートとの会話でユビキタス言語を使用することは、ドメインモデルのテストにおける重要な要素であると明確に述べています。また、チームのドメイン理解が深まるにつれて、言語(とモデル)も進化する必要があると強調しています。
モデルベースの言語を徹底的に使用し、スムーズに動作するようになるまで妥協しないことで、複雑なアイデアを表現するためにシンプルな要素を組み合わせて構成された、完全で理解可能なモデルに近づきます。
...
ドメインエキスパートは、ドメインの理解を伝える上で不適切または不十分な用語や構造に反論する必要があります。開発者は、設計を混乱させる曖昧さや矛盾がないか注意する必要があります。
-- エリック・エヴァンス