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
「ソフトウェア設計」のドメイン - 「データモデリングでドメインを駆動する」を読んで
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
hidenorigoto
May 28, 2024
Programming
3.4k
10
Share
「ソフトウェア設計」のドメイン - 「データモデリングでドメインを駆動する」を読んで
2024.05.28
『データモデリングでドメインを駆動する』読書感想会
https://kichijojipm.connpass.com/event/315276/
hidenorigoto
May 28, 2024
More Decks by hidenorigoto
See All by hidenorigoto
ドメインと向き合う - 旅行予約編
hidenorigoto
4
1.1k
メルカリ バックエンド領域のこれまでとこれから
hidenorigoto
1
590
メルカリのエンジニアリング組織の変化〜Engineering Managerの視点から〜
hidenorigoto
0
8.6k
The changes of the engineering organization in Mercari - from the view of an engineering manager -
hidenorigoto
0
340
PHPerKaigi 2019 ランチセッション (3/31)
hidenorigoto
1
4.4k
抽象化って何? (What is abstraction?)
hidenorigoto
9
4.8k
抽象化って何? (What is abstraction?)
hidenorigoto
11
7.4k
続・SOLIDの原則ってどんなふうに使うの? 〜オープン・クローズドの原則 センパイのコーディングノート編〜
hidenorigoto
14
6.4k
SOLIDの原則ってどんなふうに使うの? 〜オープン・クローズドの原則編(拡大版)〜
hidenorigoto
9
5.3k
Other Decks in Programming
See All in Programming
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
580
20260320登壇資料
pharct
0
140
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
130
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
150
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
740
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
AI 開発合宿を通して得た学び
niftycorp
PRO
0
180
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
290
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
350
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
250
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
8
3.8k
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
180
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
The agentic SEO stack - context over prompts
schlessera
0
720
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
140
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Speed Design
sergeychernyshev
33
1.6k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Being A Developer After 40
akosma
91
590k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
190
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
ラッコキーワード サービス紹介資料
rakko
1
2.8M
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Transcript
ソフトウェア設計の ドメイン 『データモデリングでドメインを駆動する』を読んで @hidenorigoto (後藤 秀宣)
@hidenorigoto 後藤 秀宣 株式会社KabuK Style COO兼CTO ポッドキャスト『エンジニアリングマネージャーの問題集』 #EM問題集
用語 杉本本(すぎもとぼん):杉本さん著『データモデリングでドメインを駆動する』 Evansのドメイン駆動設計:Eric Evans著『ドメイン駆動設計』で語られるパター ン、プラクティス、概念の総体 ※1「Evansの」をつけないドメイン駆動設計の存在を暗に認めているが、その是非 は論じない ※2 ドメインを中心に据えた方法論は他にもある。
杉本本には、 様々なことが書かれている 第1部 基幹系システムとデータモデルの現在的意義 第2部 データモデリングの実践 第3部 分散/非同期/疎結合の基幹系システムへ 第4部 モデリングのファウンデーション 14章 『データモデルとドメインモデル ドメイン駆動設計への共感と批判』 ↑ 私はここを取り上げます
Eric Evansのドメイン駆動設計 2011 QCon Tokyo時にゲットした Evansサイン入り
Evansはこんな事を書いている 日本語版への序文 時間が経つにつれて、私がより一層の価値を置くようになった要素が、実 はもう1つあります。(略)こうした物語は、抽象的な原則を実際の経験 の中につなぎ止める錨となるのであり、不完全な状況の中でその原則を適 用する際の助けになるのです。私が気に入っている例の1つが、第8章「ブ レイクスルー」です。深刻で頑固な問題を解決する優れたドメインモデル を発見することは、常に望ましいわけではありません。そして、その理由 を伝えられるのは、真実の物語だけです。
杉本本での「ドメインモデル」の再定義 これが目的
SubversionとGitは、ソースコード管理という同じドメインのソフトウェ アである。 しかし、この2つのソフトウェアは、異なるドメインモデルをベースに作ら れている。 ドメインモデル=ユーザーのメンタルモデルであり、この2つのソフトウェ アを使う際にどちらか一方のメンタルモデルのままではうまく使えないと いうこともよく分かる。 杉本本での「ドメインモデル」の再定義
管理が目的だから 杉本本での「ドメインモデル」の再定義 基幹システム設計の観点においては、、、
「ソフトウェア設計」 ドメインを考えてみる
None
ユビキタス言語 振り返り 「モデルを言語の骨格として使用すること。」 「ユビキタス言語における変更は、モデルに対する変更である と認識すること。」 「ユビキタス言語」というプラクティスは、言語の基盤 となっているモデルの非常に精緻な理解と適用とが必要 となる。
「ソフトウェア設計」ドメイン これが目的
「ソフトウェア設計」 ドメインで提案したいこと
「ソフトウェア設計」ドメイン - 観点の提案
「ソフトウェア設計」ドメイン - 観点の提案 問題領域 解決領域
「ソフトウェア設計」ドメイン - 観点例 MVC
「ソフトウェア設計」ドメイン - 観点例 Eric Evansのドメイン駆動設計
「ソフトウェア設計」ドメイン - 観点例 Clean Architecture
「ソフトウェア設計」ドメイン - 観点例 Microservices
杉本本は、「ソフトウェア設計ドメイン」 についても学べる本 「ソフトウェア設計ドメイン」には、多くのドメインモデルがある 「ソフトウェア設計ドメイン」のドメインモデル=ソフトウェア設計を語りまた規定す る、取捨選択された語彙と意味のセット データモデル ドメインモデル メンタルモデル SOE /
SOR と SOA / SOM etc 語彙に対する理解が深まる本!
ソフトウェア設計の ドメインモデルを 前に進める =ドメインを駆動する
杉本本は、 Evansのドメイン駆動設計で語られる 「ソフトウェア設計のドメインモデル」 を理解するための最良の書 ※これが本の主題ではありませんが
杉本本を読もう! ご清聴ありがとうございました。 Xフォローお願いします! @hidenorigoto ポッドキャスト『エンジニアリングマネージャーの問題集』 #EM問題集