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
69
TechBowl流ドメインモデリング_2025_02_28
TechBowlでドメインモデリングをどのように行なっているかを勉強会で話した時の資料です。トーク9割だったかからスライドだけだとよくわからないかもです
中村広樹
March 17, 2025
Tweet
Share
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
Facilitating Awesome Meetings
lara
53
6.3k
What's in a price? How to price your products and services
michaelherold
244
12k
Statistics for Hackers
jakevdp
797
220k
Optimizing for Happiness
mojombo
377
70k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Building Your Own Lightsaber
phodgson
104
6.3k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Done Done
chrislema
183
16k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Transcript
TechBowl流 ドメインモデルでの情報設計 中村 広樹 @coco_typing
導入 自己紹介 株式会社TechBowl プロダクトエンジニア 中村 広樹 (Hiroki Nakamura) 猫とゲームが好きです。 普段はVRでバーチャル出勤してます。
導入 ドメインモデルを作る目的 • 情報を整理し、関係者と共通認識を持つ • 設計の方向性をチームで共有し、実装をスムーズにする
ドメインモデルの作り方 事業の主役を見つける 目的やユースケースを整理 主要なエンティティ 値オブジェクト・集約を考える
ドメインモデルの作り方 情報整理で意識すること • ユビキタス言語を使う ◦ 新しいワードを勝手に作らない ◦ 知らないワードが聞こえたら確認 • 概念の関係性を意識
◦ 何に依存するか?どれくらい? • 生成や状態変更のルール ◦ 他概念との関係性の中で生まれる制約も意識 ◦ 状態遷移図を雑に話しながら書くのも有用
ドメインモデルの作り方 情報をまとめる道具を用意 チームで分かりやすい形になってれば形式はなんでもOK 様々なツールを模索しましたが、TechBowlではWhimsicalとい うツールに落ち着いています(2025/02現在)
ドメインモデルの作り方 関連するまとまりで概念を配置
ドメインモデルの作り方 概念についての説明 システム上での役割や他の概念との連携など リンクを貼ってわかりやすくするとGood 値オブジェクト 値の説明や制約を記載 ライフサイクル制約 生成・更新・削除ロジックの制約について記載 ここに書いたことをテスト項目として実装するの がGood
ライフサイクルイベント ライフサイクルをフックして発火する処理につい て記載
ドメインモデルの作り方 注意していること • インフラ層のことを考えすぎない ◦ 集約を考える上で、気づいたら思考がインフラ部分に染み出していることが ある ◦ 集約が大きくなりすぎてライフサイクル処理がボトルネックにならないよう に
• モデリング自体を一人でやらない ◦ 簡単だと思うモデルでも開発メンバーを巻き込むと新しい発見がある
ありがとうございます!