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
1
49
TechBowl流ドメインモデリング_2025_02_28
TechBowlでドメインモデリングをどのように行なっているかを勉強会で話した時の資料です。トーク9割だったかからスライドだけだとよくわからないかもです
中村広樹
March 17, 2025
Tweet
Share
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Making Projects Easy
brettharned
116
6.1k
Bash Introduction
62gerente
611
210k
It's Worth the Effort
3n
184
28k
4 Signs Your Business is Dying
shpigford
183
22k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Building an army of robots
kneath
304
45k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.4k
Code Review Best Practice
trishagee
67
18k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Gamification - CAS2011
davidbonilla
80
5.2k
Designing Experiences People Love
moore
140
23k
Transcript
TechBowl流 ドメインモデルでの情報設計 中村 広樹 @coco_typing
導入 自己紹介 株式会社TechBowl プロダクトエンジニア 中村 広樹 (Hiroki Nakamura) 猫とゲームが好きです。 普段はVRでバーチャル出勤してます。
導入 ドメインモデルを作る目的 • 情報を整理し、関係者と共通認識を持つ • 設計の方向性をチームで共有し、実装をスムーズにする
ドメインモデルの作り方 事業の主役を見つける 目的やユースケースを整理 主要なエンティティ 値オブジェクト・集約を考える
ドメインモデルの作り方 情報整理で意識すること • ユビキタス言語を使う ◦ 新しいワードを勝手に作らない ◦ 知らないワードが聞こえたら確認 • 概念の関係性を意識
◦ 何に依存するか?どれくらい? • 生成や状態変更のルール ◦ 他概念との関係性の中で生まれる制約も意識 ◦ 状態遷移図を雑に話しながら書くのも有用
ドメインモデルの作り方 情報をまとめる道具を用意 チームで分かりやすい形になってれば形式はなんでもOK 様々なツールを模索しましたが、TechBowlではWhimsicalとい うツールに落ち着いています(2025/02現在)
ドメインモデルの作り方 関連するまとまりで概念を配置
ドメインモデルの作り方 概念についての説明 システム上での役割や他の概念との連携など リンクを貼ってわかりやすくするとGood 値オブジェクト 値の説明や制約を記載 ライフサイクル制約 生成・更新・削除ロジックの制約について記載 ここに書いたことをテスト項目として実装するの がGood
ライフサイクルイベント ライフサイクルをフックして発火する処理につい て記載
ドメインモデルの作り方 注意していること • インフラ層のことを考えすぎない ◦ 集約を考える上で、気づいたら思考がインフラ部分に染み出していることが ある ◦ 集約が大きくなりすぎてライフサイクル処理がボトルネックにならないよう に
• モデリング自体を一人でやらない ◦ 簡単だと思うモデルでも開発メンバーを巻き込むと新しい発見がある
ありがとうございます!