02. オープン・クローズドの原則(OCP: Open/Closed Principle)
Clean Architecture 達人に学ぶソフトウェアの構造と設計の第 8 章を読もう。
オープン・クローズドの原則(OCP: Open/Closed Principle)とは、ソフトウェアは拡張に対しては開いていて修正に対して閉じていなければいけないという原則。
Visitor パターンが例だと思う。
オープン・クローズドの原則(OCP)では変更する理由を考えて機能をコンポーネントに分割する。 上位レベルのコンポーネントは下位レベルのコンポーネントの変更に影響しないように分割する。
以下は例である。
- UI 部分をビジネスロジックに含めないように設計する。こうすることで下位層の UI を変更する際に上位層のビジネスロジックを変更せずに済むようになる。
- クラスを増やしたとき、依存するクラスに実装をふやさないように設計する。