オープン・クローズドの原則
オープン・クローズドの原則(Open/Closed Principle; OCP)、開放/閉鎖の原則
software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification.
ref: Meyer, Bertrand (1988). Object-Oriented Software Construction. Prentice Hall. ISBN 0-13-629049-3
↓
>ソフトウェアエンティティ(クラス、モジュール、関数など)は、拡張に対しては開放的(open)であるべきだが、変更に対しては閉鎖的(closed)であるべきである。
どういうことだってばよ
開いている/開放的/オープン
既存のソフトウェアエンティティ(クラス、モジュール、関数など)に対して機能追加が可能である
閉じている/閉鎖的/クローズド
ある機能追加に際に既存のソフトウェアエンティティ(クラス、モジュール、関数など)を修正する必要がない
主語や目的語が省略がちでどうも理解できなかったがこういうことのはず
確認用
Q. 開いている(オープン)とは
Q. 閉じている(クローズ)とは
Q. この原則の目的は?
Q. 原則に違反している実装例は
Q. 原則に則っている実装例は
関連
参考
Meyer, Bertrand (1988). Object-Oriented Software Construction. Prentice Hall. ISBN 0-13-629049-3
Robert C. Martin "The Open-Closed Principle", C++ Report, January 1996 Archived August 22, 2006, at the Wayback Machine. Open-Closed Principle とデザインパターン. メモ