前回
【DDD】わかる!ドメイン駆動設計 ~もちこちゃんの大冒険~【第1章】
第2章 ユビキタス言語って何?
2.1 ユビキタス言語とは
ユビキタス言語 : ドメインエキスパートや、ソフトウェア開発者を含めたチーム全体で作りあげる共通言語のこと
2.2 ユビキタス言語を見つけるためには
以下の用語やフレーズを観察して見つけていく。
- ドメインエキスパートが使用している
- 業務のゴール(ユースケースやシナリオと呼ぶこともある)を反映している
- 既存のドキュメントを取りまとめている
すでにソフトウェアが存在し、ドキュメントやチームメンバー間で違う場合は、議論が必要
2.3 変化し続けるユビキタス言語
ユビキタス言語は日々変化するため、用語集にしようとするのは現実的ではない。
それを表すコード上のモデルにコメントを書く方が現実的
2.4 ユビキタス言語の適用範囲
適用範囲は、チーム内での会話・ドキュメント・ソースコード。適用させるのは大変だが、用語をを表すもの・概念の理解が全員に共通であるため、同じものをを表す別の単語が存在しなくなり、効果は絶大となる。
2.5 ユビキタス言語の確立
ドメインモデル(ドメインを反映したモデル)はユビキタス言語で構成される。そのため、実装におけるクラス名やメソッド名はユビキタス言語になっていなければならない。
2.6 ユビキタス言語の確立
どのようにユビキタス言語を見つけるか?
- 1. 現在のドキュメントを調べ、ユビキタス言語の候補になりそうなもの・問題がありそうなもの(以下)をピックアップする
- 同じものを表す用語が複数ある。
- 概念はあるのに名前がない。
- ビジュアルはあるのに名前がない。
- 2. ドメインエキスパートの話す言葉を観察し、用語やフレーズをピックアップする
- 3. ピックアップした用語やフレーズをチームで議論し、ユビキタス言語として確立する
- 単語だけではなく、振る舞い(登録する・表示するなど)にも注目する
- 4. 名前のない概念や曖昧な概念ははっきりさせ、名前をつけてユビキタス言語として確立する
Next
WIP