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
hidenorigoto
May 28, 2024
Programming
10
3.2k
「ソフトウェア設計」のドメイン - 「データモデリングでドメインを駆動する」を読んで
2024.05.28
『データモデリングでドメインを駆動する』読書感想会
https://kichijojipm.connpass.com/event/315276/
hidenorigoto
May 28, 2024
Tweet
Share
More Decks by hidenorigoto
See All by hidenorigoto
ドメインと向き合う - 旅行予約編
hidenorigoto
4
930
メルカリ バックエンド領域のこれまでとこれから
hidenorigoto
1
530
メルカリのエンジニアリング組織の変化〜Engineering Managerの視点から〜
hidenorigoto
0
8.3k
The changes of the engineering organization in Mercari - from the view of an engineering manager -
hidenorigoto
0
310
PHPerKaigi 2019 ランチセッション (3/31)
hidenorigoto
1
4.1k
抽象化って何? (What is abstraction?)
hidenorigoto
9
4.6k
抽象化って何? (What is abstraction?)
hidenorigoto
11
7k
続・SOLIDの原則ってどんなふうに使うの? 〜オープン・クローズドの原則 センパイのコーディングノート編〜
hidenorigoto
14
6.1k
SOLIDの原則ってどんなふうに使うの? 〜オープン・クローズドの原則編(拡大版)〜
hidenorigoto
9
5.2k
Other Decks in Programming
See All in Programming
20250808_AIAgent勉強会_ClaudeCodeデータ分析の実運用〜競馬を題材に回収率100%の先を目指すメソッドとは〜
kkakeru
0
140
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
570
Vibe coding コードレビュー
kinopeee
0
430
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
rvirus0817
1
1.4k
AHC051解法紹介
eijirou
0
400
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
1
260
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
130
自作OSでDOOMを動かしてみた
zakki0925224
1
1.3k
令和最新版手のひらコンピュータ
koba789
13
7.4k
Go製CLIツールをnpmで配布するには
syumai
2
1.2k
What's new in Adaptive Android development
fornewid
0
140
リッチエディターを安全に開発・運用するために
unachang113
1
380
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Into the Great Unknown - MozCon
thekraken
40
2k
It's Worth the Effort
3n
185
28k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Documentation Writing (for coders)
carmenintech
73
5k
Automating Front-end Workflow
addyosmani
1370
200k
KATA
mclloyd
32
14k
Music & Morning Musume
bryan
46
6.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
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問題集