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.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
1.1k
メルカリ バックエンド領域のこれまでとこれから
hidenorigoto
1
570
メルカリのエンジニアリング組織の変化〜Engineering Managerの視点から〜
hidenorigoto
0
8.5k
The changes of the engineering organization in Mercari - from the view of an engineering manager -
hidenorigoto
0
330
PHPerKaigi 2019 ランチセッション (3/31)
hidenorigoto
1
4.3k
抽象化って何? (What is abstraction?)
hidenorigoto
9
4.7k
抽象化って何? (What is abstraction?)
hidenorigoto
11
7.3k
続・SOLIDの原則ってどんなふうに使うの? 〜オープン・クローズドの原則 センパイのコーディングノート編〜
hidenorigoto
14
6.3k
SOLIDの原則ってどんなふうに使うの? 〜オープン・クローズドの原則編(拡大版)〜
hidenorigoto
9
5.3k
Other Decks in Programming
See All in Programming
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
180
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
180
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.3k
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.6k
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
130
[AI Engineering Summit Tokyo 2025] LLMは計画業務のゲームチェンジャーか? 最適化業務における活⽤の可能性と限界
terryu16
2
280
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
4
690
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
630
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
180
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
5.2k
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
160
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
160
Featured
See All Featured
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
39
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
870
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Fireside Chat
paigeccino
41
3.8k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.8k
AI: The stuff that nobody shows you
jnunemaker
PRO
2
160
Testing 201, or: Great Expectations
jmmastey
46
7.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Why Our Code Smells
bkeepers
PRO
340
58k
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問題集