はじめに
こんにちは!DDDって聞いたことあるけど難しそう?
大丈夫、今日は明るく楽しく学んでいきましょう!
🌈 DDDって何だろう?
DDD(ドメイン駆動設計)は、「難しいことを整理して、みんなが同じ理解で仲良く進められるようにする方法」です!
🚀 大切な4つのポイントを覚えよう!
① ドメイン
ドメインとは、プロジェクトで注目しているテーマの領域のこと!学校を例にすると、「授業」「クラブ活動」「学校行事」などがドメインだよ。
② 境界づけられたコンテキスト
同じ言葉でも場所が変わると意味が違うこともあるよね。それを避けるために同じ意味を共有するグループ、それが「境界づけられたコンテキスト」です!
🎒 学校の場合
- 「授業コンテキスト」:「宿題」「テスト」「授業」など、勉強に関する言葉。
- 「クラブ活動コンテキスト」:「練習」「試合」「大会」など、部活の言葉。
こうすると、混乱なく楽しく話せるよね!
③ ドメインモデル
ドメインモデルとは、業務の中の『モノ』(例:エンティティや値オブジェクト)と、それに伴う『コト』(例:操作やイベント)を表現したモデルのこと。学校だとこんな感じ!
🎓 モノ(物)
- 生徒:名前、学年、クラスの情報を持ち、授業に参加する、宿題をするという行動ができる。
- 教室:教室番号、設備などを持ち、授業を開く、掃除をする行動ができる。
🎯 コト(事)
- 授業をする
- テストを受ける
- 試合に出る
④ ユビキタス言語
ユビキタス言語は、チームのみんなが同じ意味で使う「共通の言葉」。
このユビキタス言語は境界づけられたコンテキストごとに定義され、コンテキスト間では同じ単語でも別の意味を持っていて構いません。
境界づけられたコンテキストごとに同じ言葉を使うことで、分かりやすくスムーズに話が進みます!
例えば「授業」と決めたら、授業コンテキスト内ではみんな「授業」という言葉を変えずに使うようにするんだ!
🎈DDDの嬉しいポイント!
- みんなで同じ言葉を使えるから楽しくスムーズに進む!
- わかりやすく整理されて、間違いや誤解が減る!
- 複雑なことでも明るくクリアに!チームがひとつになれる!
次はドメインモデルの設計編です✨😄🚀