Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DDDのエッセンスを取り入れたAIでの開発
Search
ak2ie
August 19, 2026
Technology
310
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DDDのエッセンスを取り入れたAIでの開発
AI時代のドメイン駆動設計LT会(2026/08/20)での発表内容です
ak2ie
August 19, 2026
More Decks by ak2ie
See All by ak2ie
Claude Codeはレガシー移行でどこまで使えるのか?
ak2ie
1
1.7k
SVG完全に理解してグラフ書いてみた
ak2ie
0
73
Go言語CLIツールで生産効率UPした話
ak2ie
0
130
Goではじめるバックエンド開発
ak2ie
0
92
Notion APIと学ぶNext.js
ak2ie
0
600
NestJSのはじめ方
ak2ie
0
170
フロントエンドでDDDやってみた
ak2ie
0
91
初心者がシビックテックに参加してみた
ak2ie
0
140
Firebase についてとことん語りたい
ak2ie
0
130
Other Decks in Technology
See All in Technology
OR学会2026年秋期大会_機械学習と数理最適化の融合による、配合レシピ最適化システム開発事例
brainpadpr
0
120
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
350
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
1
350
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.2k
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
0
250
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
560
AgentCoreで実践するハーネスエンジニアリング
yakumo
1
300
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
170
購入ドメインでの課題と取り組み
ykagano
0
220
Essential architectural thinking (revised edition)
ufried
0
110
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
340
おそらく日本で唯一のDevRelインターン生として
husengs7
0
170
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Designing for humans not robots
tammielis
254
26k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Unsuck your backbone
ammeep
672
58k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
770
BBQ
matthewcrist
90
10k
The Cult of Friendly URLs
andyhume
79
7k
Thoughts on Productivity
jonyablonski
76
5.4k
Designing Powerful Visuals for Engaging Learning
tmiket
1
600
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
720
Transcript
LIGHTNING TALK DDDのエッセンスを取り入れた AIでの開発 認可とワークフローの仕様を、モデルで守る 2026/08/20|AI時代のドメイン駆動設計LT会
ABOUT ME 02 自己紹介 AIを活用したWebシステム開発に取り組んでいます 名前 秋田大介 所属 株式会社メンバーズ 職種
エンジニア X @ak2ie_tech
AGENDA 03 今日お話しすること 申請システムで起きた問題から、DDDでの解決まで 01 システムの概要 認可・閲覧範囲・状態遷移 02 困ったこと 共通化しても残った課題
03 DDDでの解決 ドメインモデル/集約『申請』へ集約 04 まとめ 部分的にDDDを採用して得たこと 本日は『全部DDD』ではなく、必要な部分に使った話をします
SYSTEM OVERVIEW 04 社内の申請システム 3つのロールで操作 申請者 課長 → 下書きを作成し申請 部長
→ 申請を承認・差し戻し 課長が承認した申請を 決裁・差し戻し 課長・部長は自部署の申請のみ操作可能。兼務もある。
SYSTEM OVERVIEW 05 申請は4つのステータスを遷移する 逐次遷移と、部長による直接遷移の2つの経路がある 下書き 申請中 承認済 決裁済 一般:申請
課長:承認 部長:直接決裁 部長:決裁 完了 差し戻し 差し戻し 申請中 → 下書き:課長 承認済 → 申請中 承認済 → 下書き :部長
PROBLEM — IDEAL 06 権限マトリクスを一か所で判定すればOKと思った ロール × リソース × 操作で『見える・できる』を表す
01 ロール 一般/課長/部長 02 リソース 一般:自分が担当する申請を閲覧 課長・部長:自部署の申請を閲覧 03 操作 申請/承認/決裁/差し戻し 閲覧と操作の両方を、同じ3軸の共通ロジックで管理する
02 PROBLEM 理想どおりには、 いかなかった 共通関数を用意しても、画面・APIごとの差が残った ここから、実装で起きた3つの問題を見ていきます 07
PROBLEM — REALITY 08 共通関数があっても、使い方が共通とは限らない 未使用や誤ったカラム指定で、画面ごとの差が残った 01 関数を使わない 一部の画面・APIでは権限チェック自体が未適用 02
入力を間違える 担当者を渡すべき箇所で作成者を渡す 03 リソースの考慮漏れ 部署兼務の場合に正しく動作しないことがあった なぜ共通関数が機能しなかったのか? 判定前の『申請データの作り方』が揃っていなかった
PROBLEM 09 遷移とデータ更新も、処理ごとに差が生まれる 同じ操作でも、APIや実行経路が違うと不具合になり得る 遷移ルール 日時更新 逐次用と直接用で遷移表が別々 遷移可能ステータスに差異が発生 直接遷移時に、不要になった 操作日時のクリアが漏れた
申請API 承認API 決裁API 差戻API 判断と更新をそれぞれが持つほど、一貫性を保ちにくい
03 SOLUTION WITH DDD では、どう解決するか DDDのエッセンスを使う 分散した判断と更新を、ドメインモデル『申請』へ集める 申請を集約とし、同じ仕様を必ず通る構造へ変えます 10
SOLUTION WITH DDD 11 分散していた判断をドメインモデル『申請』へ集約した 困っていたことと対策を、一対一で対応させる 困っていたこと モデルで行う対策 関数の呼び出し漏れ →
ドメインモデルを使わないと処理できない 入力パラメータの指定誤り → 権限判定をモデル内で行う 逐次と直接で遷移可能状態が違う → 遷移表をモデルの振る舞いへ統合 直接遷移時に操作日時のクリア漏れ → 日時更新・クリアをモデル内に閉じ込める 『申請』を集約とし、整合性を守る単位の中で判断と更新を完結させる
CONCRETE EXAMPLE 12 『部長が直接決裁する』を、1つの操作で保証する APIは『申請』集約の決裁操作を呼ぶだけ。6つの条件を集約が処理する 01 ロール 部長ロールを持つか確認 04 状態遷移
決裁済へ変更 02 リソース 申請が自部署のものか確認 05 日時更新 不要な日時をクリアし決裁日時を 設定 03 操作 統合した遷移ルールで確認 個別決裁でも一括決裁でも、同じ『申請』集約を通れば条件は同じ
SUMMARY 13 判断漏れを探すより、必ず通る仕様の中心をつくる システム全体ではなく、申請部分を境界づけられたコンテキストとした 01 問題 画面・APIごとに判断材料とルールが違った 02 対策 ドメインモデル/集約『申請』へ、判断と更新を集約
03 期待する効果 同じ操作が同じ仕様を通り、レビュー箇所も絞られる 株式会社メンバーズ 採用募集中 https://career.members.co.jp/recruit/