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

Learning Domain-Driven Design輪読会 #19

kyotak
January 12, 2023
39

Learning Domain-Driven Design輪読会 #19

kyotak

January 12, 2023
Tweet

Transcript

  1. “There is no sense in talking about the solution before

    we agree on the problem, and no sense talking about the implementation steps before we agree on the solution. “ “問題を理解する前に解決策について話すことには意味がなく、解決策を理解する前に 実装手順について話す意味はない”
 本書の冒頭にあった引用
 この引用は、私たちのDDDジャーニーをきちんと要約している

  2. Solution
 • この知識を活用して、サブドメインの種類ごとに最適化され たソリューションを設計する方法を学習した 
 • 4つのビジネスロジック実装パターンと各パターンが役立つ シナリオについて説明した
 ◦ トランザクションスクリプト


    ◦ アクティブレコード
 ◦ ドメインモデル
 ◦ イベントソースドメインモデル
 • ビジネスロジックの実装に必要な3つのアーキテクチャにつ いても説明した
 ◦ レイヤードアーキテクチャ
 ◦ ポート&アダプター
 ◦ CQRS
 • 右図はこれらのパターンを使用した戦術的意思決定の ヒューリスティクスをまとめたもの

  3. Implementation
 • Part Ⅲでは、理論を実践に変える以下の方法について議論した
 ◦ イベントストーミングセッションによってユビキタス言語を効果的に構築する方 法
 ◦ ビジネスドメインの進化に合わせて設計を保つ方法
 ◦

    brownfieldプロジェクトでドメイン駆動設計を導入する方法
 • Part Ⅳでは、ドメイン駆動設計と他の方法論やパターン(マイクロサービス、イベント 駆動型アーキテクチャ、データメッシュ)との相互作用について説明した
 • DDDはこれらの手法と組み合わせて使用できるだけでなく、互いに補完し合うことが わかった

  4. Further Reading
 • Evans, E. (2003). Domain-Driven Design: Tackling Complexity

    in the Heart of Software. Boston: Addison-Wesley.
 • Martraire, C. (2019). Living Documentation: Continuous Knowledge Sharing by Design. Boston: Addison-Wesley.
 • Vernon, V. (2013). Implementing Domain-Driven Design. Boston: Addison-Wesley.
 • Young, G. (2017). Versioning in an Event Sourced System. Leanpub.
 Advanced Domain-Driven Design

  5. Further Reading
 • Dehghani, Z. (Expected to be published in

    2022). Data Mesh: Delivering Data-Driven Value at Scale. Boston: O’Reilly.
 • Fowler, M. (2002). Patterns of Enterprise Application Architecture. Boston: Addison-Wesley.
 • Hohpe, G., & Woolf, B. (2003). Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Boston: Addison-Wesley.
 • Richardson, C. (2019). Microservice Patterns: With Examples in Java. New York: Manning Publications.
 
 Architectural and Integration Patterns

  6. Further Reading
 • Kaiser, S. (Expected to be published in

    2022). Adaptive Systems with Domain-Driven Design, Wardley Mapping, and Team Topologies. Boston: Addison-Wesley.
 • Tune, N. (Expected to be published in 2022). Architecture Modernization: Product, Domain, & Team Oriented. Leanpub.
 • Vernon, V., & Jaskula, T. (2021). Implementing Strategic Monoliths and Microservices. Boston: Addison-Wesley.
 • Vernon, V., & Jaskula, T. (2021). Strategic Monoliths and Microservices. Boston: Addison-Wesley.
 
 Modernization of Legacy Systems

  7. Further Reading
 • Brandolini, A. (Not yet published). Introducing EventStorming.

    Leanpub.
 • Rayner, P. (Not yet published). The EventStorming Handbook. Leanpub.
 
 EventStoming