この記事について
- Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んだ際の覚え書きです
覚え書き
言い換えれば、ソフトウェアの振る舞いは、既存の成果物を変更せず拡張できるようにすべきである、ということだ。
アーキテクチャは、いつどのような理由でどのように変更するかを考えて機能を分割する。そして、分割した機能をコンポーネントの階層構造にまとめる。上位レベルにあるコンポーネントは、下位レベルのコンポーネントが変更されたとしても、変更する必要はない。
- SRP:単一責任の原則により機能を変更する理由を一つのアクターに対する責務に限定することで変更機能を最小限にとどめる
- 機能の中身を役割ごとにコンポーネントを分ける
- コンポーネントはDIP:依存関係逆転の原則を利用してビジネスロジックが詳細の処理(ControllerやPresenter、Database)に影響されないようにする