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
2
240
TechBowl流ドメインモデリング_2025_02_28
TechBowlでドメインモデリングをどのように行なっているかを勉強会で話した時の資料です。トーク9割だったかからスライドだけだとよくわからないかもです
中村広樹
March 17, 2025
Tweet
Share
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
660
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Building Applications with DynamoDB
mza
96
6.7k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Scaling GitHub
holman
463
140k
Transcript
TechBowl流 ドメインモデルでの情報設計 中村 広樹 @coco_typing
導入 自己紹介 株式会社TechBowl プロダクトエンジニア 中村 広樹 (Hiroki Nakamura) 猫とゲームが好きです。 普段はVRでバーチャル出勤してます。
導入 ドメインモデルを作る目的 • 情報を整理し、関係者と共通認識を持つ • 設計の方向性をチームで共有し、実装をスムーズにする
ドメインモデルの作り方 事業の主役を見つける 目的やユースケースを整理 主要なエンティティ 値オブジェクト・集約を考える
ドメインモデルの作り方 情報整理で意識すること • ユビキタス言語を使う ◦ 新しいワードを勝手に作らない ◦ 知らないワードが聞こえたら確認 • 概念の関係性を意識
◦ 何に依存するか?どれくらい? • 生成や状態変更のルール ◦ 他概念との関係性の中で生まれる制約も意識 ◦ 状態遷移図を雑に話しながら書くのも有用
ドメインモデルの作り方 情報をまとめる道具を用意 チームで分かりやすい形になってれば形式はなんでもOK 様々なツールを模索しましたが、TechBowlではWhimsicalとい うツールに落ち着いています(2025/02現在)
ドメインモデルの作り方 関連するまとまりで概念を配置
ドメインモデルの作り方 概念についての説明 システム上での役割や他の概念との連携など リンクを貼ってわかりやすくするとGood 値オブジェクト 値の説明や制約を記載 ライフサイクル制約 生成・更新・削除ロジックの制約について記載 ここに書いたことをテスト項目として実装するの がGood
ライフサイクルイベント ライフサイクルをフックして発火する処理につい て記載
ドメインモデルの作り方 注意していること • インフラ層のことを考えすぎない ◦ 集約を考える上で、気づいたら思考がインフラ部分に染み出していることが ある ◦ 集約が大きくなりすぎてライフサイクル処理がボトルネックにならないよう に
• モデリング自体を一人でやらない ◦ 簡単だと思うモデルでも開発メンバーを巻き込むと新しい発見がある
ありがとうございます!