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
graphed DDD
Search
Dassimen
January 10, 2020
Technology
1
590
graphed DDD
Dassimen
January 10, 2020
Tweet
Share
More Decks by Dassimen
See All by Dassimen
Write code with "Test First"
anchorcable
0
21
Trying AWS Aurora Serverless.
anchorcable
0
200
Dialogue for Design
anchorcable
1
290
How to manage a good work environment
anchorcable
0
100
TDD is not slowly.
anchorcable
1
540
3日坊主でも勉強したい
anchorcable
5
5.5k
Design It! is good for architect.
anchorcable
0
120
今だからこそ分かる報連相 / How to do Hou/Ren/Sou!
anchorcable
0
670
TDD supports us all the time.
anchorcable
0
320
Other Decks in Technology
See All in Technology
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
990
20250326_管理ツールの権限管理で改善したこと
sasata299
1
320
Restarting_SRE_Road_to_SRENext_.pdf
_awache
0
150
RAGの基礎から実践運用まで:AWS BedrockとLangfuseで実現する構築・監視・評価
sonoda_mj
0
420
SaaSプロダクト開発におけるバグの早期検出のためのAcceptance testの取り組み
kworkdev
PRO
0
390
AWS のポリシー言語 Cedar を活用した高速かつスケーラブルな認可技術の探求 #phperkaigi / PHPerKaigi 2025
ytaka23
7
1.5k
PHPStan をできる限り高速化してみる
colopl
0
250
頻繁リリース × 高品質 = 無理ゲー? いや、できます!/20250306 Shoki Hyo
shift_evolve
0
150
Road to SRE NEXT@仙台 IVRyの組織の形とSLO運用の現状
abnoumaru
0
380
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
ymae
1
190
DevOps文化を育むQA 〜カルチャーバブルを生み出す戦略〜 / 20250317 Atsushi Funahashi
shift_evolve
1
110
バクラクでのSystem Risk Records導入による変化と改善の取り組み/Changes and Improvement Initiatives Resulting from the Implementation of System Risk Records
taddy_919
0
220
Featured
See All Featured
Practical Orchestrator
shlominoach
187
10k
Agile that works and the tools we love
rasmusluckow
328
21k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
25k
How to Ace a Technical Interview
jacobian
276
23k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
490
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
We Have a Design System, Now What?
morganepeng
51
7.5k
Designing for Performance
lara
606
69k
Transcript
DDDを図に描いてみた January 10, 2020 | #dasshimen 用語とその関連を図にしてみたら、軽量DDD完全に理解した 脱脂綿 ( @anchor_cable
)
#dddcj 2 About Me 脱脂綿 ( @anchor_cable ) 東京都内に住む脱脂綿(=Twitter名)系エンジニア •
株式会社ゆめみ ◦ サーバーサイドエンジニア ◦ 7月1日入社 • DDD初学者 ◦ IDDD読本は一応読んだ / IDDD本はまだ ◦ ボトムアップドメイン駆動設計が分かりやすかった ◦ nrsさんの本が早く読みたい
3 アジェンダ 分かるようになる鍵:単語と図 描いた図を見てみよう DDDが分かり辛いのは何故か 1 2 3 #dddcj
DDDが分かり辛いのは何故か 私にはDDDのここが辛い 1
5 DDDが分かり辛いのは何故か 知らない単語の洪水 ソフトウェア開発の経験がそもそも少ない身にとって、DDD読本レベルでも情報の洪水 「知らない単語」を1つ理解しようと四苦八苦しているうちに、 別の単語と知らない単語が連携している話をされてしまう #dddcj ドメイン コンテキスト
6 DDDが分かり辛いのは何故か 知らない単語の洪水 ソフトウェア開発の経験がそもそも少ない身にとって、DDD読本レベルでも情報の洪水 「知らない単語」を1つ理解しようと四苦八苦しているうちに、 別の単語と知らない単語が連携している話をされてしまう #dddcj ドメイン コンテキスト 値オブジェクト
エンティティ
7 DDDが分かり辛いのは何故か 知らない単語の洪水 ソフトウェア開発の経験がそもそも少ない身にとって、DDD読本レベルでも情報の洪水 「知らない単語」を1つ理解しようと四苦八苦しているうちに、 別の単語と知らない単語が 連携 している話をされてしまう #dddcj ドメイン
コンテキスト 値オブジェクト エンティティ リポジトリ ファクトリ 「あれ? これ今、何の話してんだっけ...?」
分かるようになるまで まあまだ分かってないんですけどね 2
9 「ボトムアップドメイン駆動設計」で単語を理解 まず単語に絞って理解 DDDにおける単語が示すものの役割、具体的な実装パターンを理解 DDDに対する理解レベルの飛躍的向上 before : 「分からないもの」と関連する「分からないもの」 after :
関連が不明な「分かるもの」の集まり 改めて感謝! https://nrslib.com/bottomup-ddd/ #dddcj
10 図に描いてみた 単語の関連性を理解する 単語は分かったので、主要な単語を並べて互いの関連性を図にしてみた その結果多くの疑問が解消された ・まず「ドメイン」って何なんだろう ・「境界づけられたコンテキスト」、しっくりこない。 ・「集約」がトランザクション管理するもの? また、分かっていない疑問も可視化された ・ドメインイベントとドメインサービスって何が違うの??
#dddcj
実際の図 マサカリは優しくお願いします でも歓迎です 3
12 ドメイン世界 #dddcj 広義のドメイン(=事業全体) コアドメイン 支援 サブドメイン 汎用 サブドメイン 境界づけられた
コンテキスト 境界づけられた コンテキスト 境界づけられた コンテキスト
13 コンテキストマップ #dddcj 広義のドメイン(=事業全体) コアドメイン 支援 サブドメイン 汎用 サブドメイン 境界づけられた
コンテキスト 境界づけられた コンテキスト 境界づけられた コンテキスト これらの関係を図示する もの =コンテキストマップ
14 プログラム世界 #dddcj プログラム世界 コンテキストの投影 境界づけられたコンテキスト毎に存在する モジュール モジュール モジュール モジュール
15 モジュール #dddcj モジュール エンティティ 値 オブジェクト 集約 ファクトリ リポジトリ
ドメインサービス ドメインイベント
16 まとめ 私のDDDの学び方 図に描きだしてみることで関連を理解する 浮かび上がった疑問を解決していく まずは単語だけを理解する 1 2 3 #dddcj
17 まとめ 私のDDDの学び方 図に描きだしてみることで関連を理解する 浮かび上がった疑問を解決していく まずは単語だけを理解する 1 2 3 #dddcj
ようやく軽量DDD理解した これから実践+マインドの理解やっていく所存。
ご清聴ありがとうございました