Domain Driven Design -コミュニケーションと言語の使い方

ユビキタス言語

開発者とビジネスサイドには、知識、使用言語の差があるので、コミュニケーションロスが生まれる。これを解消するために、共通言語 = ユビキタス言語が必要。

モデルを言語の骨格として利用すること。チーム内のすべてのコミュニケーションとコードにおいて、その言語を厳密に用いることを約束すること。図やドキュメント、そしてなにより会話の中で同一の言語を利用すること。

例がわかりやすい

NG

経路選択サービスに受地と到着時間を与えて、停泊箇所をDBに突っ込めばいい

OK

経路選択サービスは、経路仕様を満たす輸送日程を見つける。

エクストリームプログラミングとの差

XPの定義は下記

プログラム中の実際に動作する要素と実行可能なテストに対してのみ集中する。動作しているコードは嘘をつかないが、他のドキュメントだとその可能性がある。

詳細すぎて圧倒されてしまうのと、ふるまいの背景の把握が困難になる問題がある。

いずれにしても、クラス図、UML図を復習したほうが良さそうだ。