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
950
メルカリ バックエンド領域のこれまでとこれから
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
7.1k
続・SOLIDの原則ってどんなふうに使うの? 〜オープン・クローズドの原則 センパイのコーディングノート編〜
hidenorigoto
14
6.1k
SOLIDの原則ってどんなふうに使うの? 〜オープン・クローズドの原則編(拡大版)〜
hidenorigoto
9
5.2k
Other Decks in Programming
See All in Programming
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
360
AIレビュアーをスケールさせるには / Scaling AI Reviewers
technuma
2
240
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
1
690
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
1.9k
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
0
210
testingを眺める
matumoto
1
130
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
220
フロントエンドのmonorepo化と責務分離のリアーキテクト
kajitack
2
150
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
120
Design Foundational Data Engineering Observability
sucitw
2
110
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
3
1k
Google I/O recap web編 大分Web祭り2025
kponda
0
2.9k
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Documentation Writing (for coders)
carmenintech
73
5k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
4 Signs Your Business is Dying
shpigford
184
22k
Navigating Team Friction
lara
189
15k
Thoughts on Productivity
jonyablonski
69
4.8k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
Gamification - CAS2011
davidbonilla
81
5.4k
GraphQLとの向き合い方2022年版
quramy
49
14k
Embracing the Ebb and Flow
colly
87
4.8k
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問題集