この記事について
- Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んだ際の覚え書きです
覚え書き
ひとつのコンポーネントを形成するクラスやモジュールは、まとめてリリース可能でなければいけない
同じバージョン番号を共有し、同じプロセスを経て、同じリリースドキュメントを持っていると言う事実は、作者にとってもユーザーにとっても合理的なはずだ。
- 再利用・リリース等価の原則(REP)とは再利用されるコンポーネントの単位とリリースされるコンポーネントの単位を一致させること
- 一致していると
- ユーザーが変更内容を確認したうえで適用するか判断できるようになる
- 一致していないと
- 変更内容がわからない
- 変更の適用の仕方がわからい
- 一致していると
同じタイミングで変更されることが多いクラスは一つにまとめておけということだ。
まとめておけば、ソフトウェアのリリースやデプロイの際の作業量を最小限に抑えられる。
どのクラスをひとまとめにすべきではないかを伝える原則だ
密結合していないクラスを同じコンポーネントにまとめるべきではない
- 全再利用の原則(CRP)とはひとつのコンポーネントに含まれるクラスやモジュールは密結合にする
- インターフェイス分離の原則(ISP)は使っていないメソッドを持つクラスに依存しないようにする、全再利用の原則(CRP)は使っていないクラスを持つコンポーネントに依存しない(対象が違うだけ)