Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TechBowl流ドメインモデリング_2025_02_28
Search
中村広樹
March 17, 2025
410
2
Share
TechBowl流ドメインモデリング_2025_02_28
TechBowlでドメインモデリングをどのように行なっているかを勉強会で話した時の資料です。トーク9割だったかからスライドだけだとよくわからないかもです
中村広樹
March 17, 2025
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
310
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
360
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
210
GitHub's CSS Performance
jonrohan
1033
470k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
380
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
720
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
180
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
230
Code Review Best Practice
trishagee
74
20k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
Transcript
TechBowl流 ドメインモデルでの情報設計 中村 広樹 @coco_typing
導入 自己紹介 株式会社TechBowl プロダクトエンジニア 中村 広樹 (Hiroki Nakamura) 猫とゲームが好きです。 普段はVRでバーチャル出勤してます。
導入 ドメインモデルを作る目的 • 情報を整理し、関係者と共通認識を持つ • 設計の方向性をチームで共有し、実装をスムーズにする
ドメインモデルの作り方 事業の主役を見つける 目的やユースケースを整理 主要なエンティティ 値オブジェクト・集約を考える
ドメインモデルの作り方 情報整理で意識すること • ユビキタス言語を使う ◦ 新しいワードを勝手に作らない ◦ 知らないワードが聞こえたら確認 • 概念の関係性を意識
◦ 何に依存するか?どれくらい? • 生成や状態変更のルール ◦ 他概念との関係性の中で生まれる制約も意識 ◦ 状態遷移図を雑に話しながら書くのも有用
ドメインモデルの作り方 情報をまとめる道具を用意 チームで分かりやすい形になってれば形式はなんでもOK 様々なツールを模索しましたが、TechBowlではWhimsicalとい うツールに落ち着いています(2025/02現在)
ドメインモデルの作り方 関連するまとまりで概念を配置
ドメインモデルの作り方 概念についての説明 システム上での役割や他の概念との連携など リンクを貼ってわかりやすくするとGood 値オブジェクト 値の説明や制約を記載 ライフサイクル制約 生成・更新・削除ロジックの制約について記載 ここに書いたことをテスト項目として実装するの がGood
ライフサイクルイベント ライフサイクルをフックして発火する処理につい て記載
ドメインモデルの作り方 注意していること • インフラ層のことを考えすぎない ◦ 集約を考える上で、気づいたら思考がインフラ部分に染み出していることが ある ◦ 集約が大きくなりすぎてライフサイクル処理がボトルネックにならないよう に
• モデリング自体を一人でやらない ◦ 簡単だと思うモデルでも開発メンバーを巻き込むと新しい発見がある
ありがとうございます!