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
9
3k
「ソフトウェア設計」のドメイン - 「データモデリングでドメインを駆動する」を読んで
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
870
メルカリ バックエンド領域のこれまでとこれから
hidenorigoto
1
500
メルカリのエンジニアリング組織の変化〜Engineering Managerの視点から〜
hidenorigoto
0
8.2k
The changes of the engineering organization in Mercari - from the view of an engineering manager -
hidenorigoto
0
300
PHPerKaigi 2019 ランチセッション (3/31)
hidenorigoto
1
4k
抽象化って何? (What is abstraction?)
hidenorigoto
9
4.5k
抽象化って何? (What is abstraction?)
hidenorigoto
11
6.9k
続・SOLIDの原則ってどんなふうに使うの? 〜オープン・クローズドの原則 センパイのコーディングノート編〜
hidenorigoto
14
6k
SOLIDの原則ってどんなふうに使うの? 〜オープン・クローズドの原則編(拡大版)〜
hidenorigoto
9
5.1k
Other Decks in Programming
See All in Programming
クラシルリワードにおける iOSアプリ開発の取り組み
funzin
1
220
事業KPIを基に価値の解像度を上げる
nealle
0
160
AI Coding Agents Enablement in TypeScript
yukukotani
2
350
Serving TUIs over SSH with Go
caarlos0
0
800
SpringBootにおけるオブザーバビリティのなにか
irof
0
130
プロダクトエンジニアのしごと 〜 受託 × 高難度を乗り越えるOptium開発 〜
algoartis
0
250
Носок на сок
bo0om
0
1.5k
設計の本質:コード、システム、そして組織へ / The Essence of Design: To Code, Systems, and Organizations
nrslib
10
3.9k
Orleans + Sekiban + SignalR でリアルタイムWeb作ってみた
tomohisa
0
260
fieldalignmentから見るGoの構造体
kuro_kurorrr
0
140
リアーキテクチャの現場で向き合う 既存サービスの読み解きと設計判断
ymiyamu
0
140
Duke on CRaC with Jakarta EE
ivargrimstad
1
310
Featured
See All Featured
Music & Morning Musume
bryan
47
6.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
180
53k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
Fireside Chat
paigeccino
37
3.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
810
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Side Projects
sachag
453
42k
What's in a price? How to price your products and services
michaelherold
245
12k
Faster Mobile Websites
deanohume
307
31k
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問題集