Upgrade to Pro — share decks privately, control downloads, hide ads and more …

graphed DDD

827dbd19908541482bac51ace8b86426?s=47 Dassimen
January 10, 2020

graphed DDD

827dbd19908541482bac51ace8b86426?s=128

Dassimen

January 10, 2020
Tweet

Transcript

  1. DDDを図に描いてみた January 10, 2020 | #dasshimen 用語とその関連を図にしてみたら、軽量DDD完全に理解した 脱脂綿 ( @anchor_cable

    )
  2. #dddcj 2 About Me 脱脂綿 ( @anchor_cable ) 東京都内に住む脱脂綿(=Twitter名)系エンジニア •

    株式会社ゆめみ ◦ サーバーサイドエンジニア ◦ 7月1日入社 • DDD初学者 ◦ IDDD読本は一応読んだ / IDDD本はまだ ◦ ボトムアップドメイン駆動設計が分かりやすかった ◦ nrsさんの本が早く読みたい
  3. 3 アジェンダ 分かるようになる鍵:単語と図 描いた図を見てみよう DDDが分かり辛いのは何故か 1 2 3 #dddcj

  4. DDDが分かり辛いのは何故か 私にはDDDのここが辛い 1

  5. 5 DDDが分かり辛いのは何故か 知らない単語の洪水 ソフトウェア開発の経験がそもそも少ない身にとって、DDD読本レベルでも情報の洪水 「知らない単語」を1つ理解しようと四苦八苦しているうちに、 別の単語と知らない単語が連携している話をされてしまう #dddcj ドメイン コンテキスト

  6. 6 DDDが分かり辛いのは何故か 知らない単語の洪水 ソフトウェア開発の経験がそもそも少ない身にとって、DDD読本レベルでも情報の洪水 「知らない単語」を1つ理解しようと四苦八苦しているうちに、 別の単語と知らない単語が連携している話をされてしまう #dddcj ドメイン コンテキスト 値オブジェクト

    エンティティ
  7. 7 DDDが分かり辛いのは何故か 知らない単語の洪水 ソフトウェア開発の経験がそもそも少ない身にとって、DDD読本レベルでも情報の洪水 「知らない単語」を1つ理解しようと四苦八苦しているうちに、 別の単語と知らない単語が 連携 している話をされてしまう #dddcj ドメイン

    コンテキスト 値オブジェクト エンティティ リポジトリ ファクトリ 「あれ?  これ今、何の話してんだっけ...?」
  8. 分かるようになるまで まあまだ分かってないんですけどね 2

  9. 9 「ボトムアップドメイン駆動設計」で単語を理解 まず単語に絞って理解 DDDにおける単語が示すものの役割、具体的な実装パターンを理解 DDDに対する理解レベルの飛躍的向上 before : 「分からないもの」と関連する「分からないもの」 after :

    関連が不明な「分かるもの」の集まり 改めて感謝! https://nrslib.com/bottomup-ddd/ #dddcj
  10. 10 図に描いてみた 単語の関連性を理解する 単語は分かったので、主要な単語を並べて互いの関連性を図にしてみた その結果多くの疑問が解消された ・まず「ドメイン」って何なんだろう ・「境界づけられたコンテキスト」、しっくりこない。 ・「集約」がトランザクション管理するもの? また、分かっていない疑問も可視化された ・ドメインイベントとドメインサービスって何が違うの??

    #dddcj
  11. 実際の図 マサカリは優しくお願いします でも歓迎です 3

  12. 12 ドメイン世界 #dddcj 広義のドメイン(=事業全体) コアドメイン 支援 サブドメイン 汎用 サブドメイン 境界づけられた

    コンテキスト 境界づけられた コンテキスト 境界づけられた コンテキスト
  13. 13 コンテキストマップ #dddcj 広義のドメイン(=事業全体) コアドメイン 支援 サブドメイン 汎用 サブドメイン 境界づけられた

    コンテキスト 境界づけられた コンテキスト 境界づけられた コンテキスト これらの関係を図示する もの =コンテキストマップ
  14. 14 プログラム世界 #dddcj プログラム世界 コンテキストの投影 境界づけられたコンテキスト毎に存在する モジュール モジュール モジュール モジュール

  15. 15 モジュール #dddcj モジュール エンティティ 値 オブジェクト 集約 ファクトリ リポジトリ

    ドメインサービス ドメインイベント
  16. 16 まとめ 私のDDDの学び方 図に描きだしてみることで関連を理解する 浮かび上がった疑問を解決していく まずは単語だけを理解する 1 2 3 #dddcj

  17. 17 まとめ 私のDDDの学び方 図に描きだしてみることで関連を理解する 浮かび上がった疑問を解決していく まずは単語だけを理解する 1 2 3 #dddcj

    ようやく軽量DDD理解した これから実践+マインドの理解やっていく所存。
  18. ご清聴ありがとうございました