generated at
オープン・クローズドの原則

SOLID原則の1つ

修正を最小限に抑えつつ、拡張できるようにする
変更が発生した場合に既存のコードには修正を加えずに、新しくコードを追加するだけで対応できるようにする

>既存のメソッドに振る舞いを追加することは簡単にできますが、多くの場合において、正しい方法ではない。

保護されるべき対象という関係から、依存関係を考える。
コンポーネントAがコンポーネントBの変更から保護されるべきならば、コンポーネントBからコンポーネントAへ依存すべきである。
Viewを変更したときに、Presenterを変更する必要をなくしたい

Interactorを守りたい
これを中心となる関心事を処理している
だから、Interactorは他のコンポーネントの変更に依存しないようにする