Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AI時代のドメイン駆動設計-DDD実践におけるAI活用のあり方 / ddd-in-ai-era

Avatar for MinoDriven MinoDriven
August 18, 2025

AI時代のドメイン駆動設計-DDD実践におけるAI活用のあり方 / ddd-in-ai-era

こちらのイベントの登壇資料です。

AI時代xドメイン駆動設計 「良いコード/悪いコードで学ぶ設計入門」ミノ駆動氏が実践するDDDのイマ
https://offers-jp.connpass.com/event/363119/

Avatar for MinoDriven

MinoDriven

August 18, 2025
Tweet

More Decks by MinoDriven

Other Decks in Programming

Transcript

  1. © DMM 自己紹介 ミノ駆動 ( @MinoDriven ) 合同会社DMM.com プラットフォーム開発本部 第3開発部

    DeveloperProductivityGroup DMMプラットフォームの設計を改善し 開発生産性向上を図るのがミッション 2
  2. © DMM コアドメイン(DDDの最重要概念) • ドメイン : ソフトウェアが解決する業務領域 • コアドメイン :

    差別化が図られ、競争優位性を発揮する領域 • サブドメイン : 必要ではあるがコアではない領域 • 選択と集中:コアに対して集中的に(設計も含む)開発コストを投じよ、 というのがDDDの教え • 逆にコアではない部分にまでコストかけて 重厚に設計する必要はないヨ、とも述べている 14 サブドメイン1 サブドメイン2 コアドメイン
  3. © DMM コアドメインの例 みんなも考えてみよう 「ここがウリだ!」「他が真似できない!」と言えるものです 15 商品/サービス コアドメインと思わしきもの ハッピーターン ハッピーパウダー スターバックス

    スターバックス体験 (内装の雰囲気など) SmartHR 快適な労務管理 スプラトゥーン インクならではの多彩な戦術 Claude Code CLIならではの高い応用性
  4. © DMM レイヤードアーキテクチャ 21 ドメイン ルール解決 ユースケース 解決 入出力変換 外界

    ドメイン層 ユースケース層 コントローラ層 インフラ層 View データベース 下図はレイヤードアーキテクチャの一例(いろいろバリエーションあり)。 ドメイン関心事や技術関心事単位で関心を分離することで 変更容易性の向上を図る
  5. © DMM 戦略的DDDとAI • AIがあってもなくても、 利益を得る上で競争優位を考え続けることは必須。 • コアドメイン即ち競争優位の検討には、 競合他社の動向やビジネスモデル、社会情勢経済情勢など、 さまざまな変数の考慮が必要であり、不確実性がとても高い。

    • 生成AIは学習内容の平均に収斂する性質がある。 つまり、競争優位の検討をAIにマルナゲしても 凡庸な答えしか返ってこない可能性大。 • 壁打ちやアイデア出しといった、一部サポートや併走に AIが使えるものと考える。 24
  6. © DMM 契約による設計に基づく高品質テストコード実装 26 # 役割 あなたは以下の専門家である - テストコード -

    契約による設計(事前条件、事後条件、不変条件) # 目的 テストコード実装 # 制約 - メソッドの事前条件、事後条件、不変条件を検証するテストであること - Given-When-Thenパターンに基づいて実装すること # テスト対象 (ここにテスト対象のメソッドを指定する)