第Ⅱ部

実装方法の選択

 第Ⅰ部ではソフトウェアの「何を」と「なぜ」を検討しました。学んだ内容は次のとおりです。

  • 事業活動の分析と理解
  • 業務領域の識別と戦略的価値による分類
  • 業務知識から区切られた文脈(事業活動のさまざまなモデルを反映したソフトウェアコンポーネント)の設計への変換

 第Ⅱ部では、ソフトウェアの実装のやり方、つまりソフトウェア設計の「どのように」を学びます。具体的には以下の内容です。

  • 第5章から第7章までの三つの章は、業務ロジックをどのように実装するかを学びます。区切られた文脈の同じ言葉をコードで表現する三つの方法です。
    • 第5章では、業務ロジックがそれほど複雑でない場合の実装方法を二つ紹介します。トランザクションスクリプトアクティブレコードです。
    • 第6章では、より進んだ方法として、ドメインモデルを紹介します。つまり、ドメイン駆動設計らしい、複雑な業務ロジックの実装方法です。
    • 第7章ではドメインモデルの発展形を学びます。時間軸をモデルに取り入れたドメインモデルです。
  • 第8章では、区切られた文脈をアプリケーションソフトウェアとして構築する方法として、次の三つの技術方式を探求します。
    • レイヤードアーキテクチャ
    • ポートとアダプター
    • コマンド・クエリ責任分離(CQRS:Command Query Responsibility Segregation)

それぞれの技術方式の要点と、どういう場合にどの技術方式を選択するのがよいかを学びます。

  • 第9章では、システムのコンポーネント(区切られた文脈)を相互接続する時の課題と実装方法を検討します。この章で学ぶ内容は次のとおりです。
    • 第4章で検討した、区切られた文脈どうしの連係方法をどう実装するか
    • 信頼性の高いメッセージ配信をどう実現するか ...

Get ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.