コンテンツにスキップ

02. オープン・クローズドの原則(OCP: Open/Closed Principle)

Clean Architecture達人に学ぶソフトウェアの構造と設計の第8章を読もう。

オープン・クローズドの原則(OCP: Open/Closed Principle)とは、ソフトウェアは拡張に対しては開いていて修正に対して閉じていなければいけないという原則。

Visitorパターンが例だと思う。

オープン・クローズドの原則(OCP)では変更する理由を考えて機能をコンポーネントに分割する。 上位レベルのコンポーネントは下位レベルのコンポーネントの変更に影響しないように分割する。

以下は例である。

  1. UI部分をビジネスロジックに含めないように設計する。こうすることで下位層のUIを変更する際に上位層のビジネスロジックを変更せずに済むようになる。
  2. クラスを増やしたとき、依存するクラスに実装をふやさないように設計する。