読書ログ:『ドメイン駆動設計入門-7、8章』
このnoteは「ドメイン駆動設計入門」の読書記録です。
7章-柔軟性をもたらす依存関係のコントロールと8章-ソフトウェアシステムを組み立てるを読みました📚
依存の方向性を制御する
すべてのモジュールが抽象へ依存するように制御することで、ビジネスロジックを具体的な実装から解き放ち、より純粋なものに昇華する効果がある。抽象型を用いた依存関係の制御のことを「依存関係逆転の原則」という。
レベルという概念
レベルは入出力からの距離を示す。低レベルといえば機械に近い具体的な処理、高レベルといえば人間に近い抽象的な処理。主体となるべきなのは高レベルなモジュール。(主導権はクライアントにある)
コントローラーはシンプルに
コントローラーはユーザからの入力をモデルが要求するメッセージに変換し、モデルに伝えることが責務。ビジネスロジックをアプリケーションサービスに寄せるとコントローラーはシンプルなものになる。
オブジェクトの責務を明確に
ユーザーインターフェースをソフトウェアの核心から分離すると、アプリケーションの単独実行ができるようになり、ユニットテストができることで品質向上に繋がる。またリファクタリングもしやすくなる。