graphed DDD
by
Dassimen
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
DDDを図に描いてみた January 10, 2020 | #dasshimen 用語とその関連を図にしてみたら、軽量DDD完全に理解した 脱脂綿 ( @anchor_cable )
Slide 2
Slide 2 text
#dddcj 2 About Me 脱脂綿 ( @anchor_cable ) 東京都内に住む脱脂綿(=Twitter名)系エンジニア ● 株式会社ゆめみ ○ サーバーサイドエンジニア ○ 7月1日入社 ● DDD初学者 ○ IDDD読本は一応読んだ / IDDD本はまだ ○ ボトムアップドメイン駆動設計が分かりやすかった ○ nrsさんの本が早く読みたい
Slide 3
Slide 3 text
3 アジェンダ 分かるようになる鍵:単語と図 描いた図を見てみよう DDDが分かり辛いのは何故か 1 2 3 #dddcj
Slide 4
Slide 4 text
DDDが分かり辛いのは何故か 私にはDDDのここが辛い 1
Slide 5
Slide 5 text
5 DDDが分かり辛いのは何故か 知らない単語の洪水 ソフトウェア開発の経験がそもそも少ない身にとって、DDD読本レベルでも情報の洪水 「知らない単語」を1つ理解しようと四苦八苦しているうちに、 別の単語と知らない単語が連携している話をされてしまう #dddcj ドメイン コンテキスト
Slide 6
Slide 6 text
6 DDDが分かり辛いのは何故か 知らない単語の洪水 ソフトウェア開発の経験がそもそも少ない身にとって、DDD読本レベルでも情報の洪水 「知らない単語」を1つ理解しようと四苦八苦しているうちに、 別の単語と知らない単語が連携している話をされてしまう #dddcj ドメイン コンテキスト 値オブジェクト エンティティ
Slide 7
Slide 7 text
7 DDDが分かり辛いのは何故か 知らない単語の洪水 ソフトウェア開発の経験がそもそも少ない身にとって、DDD読本レベルでも情報の洪水 「知らない単語」を1つ理解しようと四苦八苦しているうちに、 別の単語と知らない単語が 連携 している話をされてしまう #dddcj ドメイン コンテキスト 値オブジェクト エンティティ リポジトリ ファクトリ 「あれ? これ今、何の話してんだっけ...?」
Slide 8
Slide 8 text
分かるようになるまで まあまだ分かってないんですけどね 2
Slide 9
Slide 9 text
9 「ボトムアップドメイン駆動設計」で単語を理解 まず単語に絞って理解 DDDにおける単語が示すものの役割、具体的な実装パターンを理解 DDDに対する理解レベルの飛躍的向上 before : 「分からないもの」と関連する「分からないもの」 after : 関連が不明な「分かるもの」の集まり 改めて感謝! https://nrslib.com/bottomup-ddd/ #dddcj
Slide 10
Slide 10 text
10 図に描いてみた 単語の関連性を理解する 単語は分かったので、主要な単語を並べて互いの関連性を図にしてみた その結果多くの疑問が解消された ・まず「ドメイン」って何なんだろう ・「境界づけられたコンテキスト」、しっくりこない。 ・「集約」がトランザクション管理するもの? また、分かっていない疑問も可視化された ・ドメインイベントとドメインサービスって何が違うの?? #dddcj
Slide 11
Slide 11 text
実際の図 マサカリは優しくお願いします でも歓迎です 3
Slide 12
Slide 12 text
12 ドメイン世界 #dddcj 広義のドメイン(=事業全体) コアドメイン 支援 サブドメイン 汎用 サブドメイン 境界づけられた コンテキスト 境界づけられた コンテキスト 境界づけられた コンテキスト
Slide 13
Slide 13 text
13 コンテキストマップ #dddcj 広義のドメイン(=事業全体) コアドメイン 支援 サブドメイン 汎用 サブドメイン 境界づけられた コンテキスト 境界づけられた コンテキスト 境界づけられた コンテキスト これらの関係を図示する もの =コンテキストマップ
Slide 14
Slide 14 text
14 プログラム世界 #dddcj プログラム世界 コンテキストの投影 境界づけられたコンテキスト毎に存在する モジュール モジュール モジュール モジュール
Slide 15
Slide 15 text
15 モジュール #dddcj モジュール エンティティ 値 オブジェクト 集約 ファクトリ リポジトリ ドメインサービス ドメインイベント
Slide 16
Slide 16 text
16 まとめ 私のDDDの学び方 図に描きだしてみることで関連を理解する 浮かび上がった疑問を解決していく まずは単語だけを理解する 1 2 3 #dddcj
Slide 17
Slide 17 text
17 まとめ 私のDDDの学び方 図に描きだしてみることで関連を理解する 浮かび上がった疑問を解決していく まずは単語だけを理解する 1 2 3 #dddcj ようやく軽量DDD理解した これから実践+マインドの理解やっていく所存。
Slide 18
Slide 18 text
ご清聴ありがとうございました