
開放
/
閉鎖原則(
Open-Closed Principle
)
いらっしゃいませ、
開店しています。必要な新たな振る
舞いでクラスを自由に拡張してください。ニーズや要
件が変わったら(将来変わる可能性があることは明ら
かです)、独自の拡張を作成すればよいのです。
申し訳ありません、
閉店しています。こ
れでいいのです。このコードをバグのない適切な
コードにするのに多くの時間を費やしたため、既存
コードを変更することはできません。コードは変更
に対しては常に閉じている必要があります。不満で
あればマネージャと話をしてください。
最も重要な設計原則の
1
つにたどり着きました。
私たちの目的は、既存コードを変更せずに、クラスを簡単に拡張して新しい振る舞いを
組み込めるようにすることです。これが実現できると何が得られるでしょうか?
変更に
対する適応力があり、新しい機能を受け入れて変更要求を満たせるほど十分柔軟性のあ
る設計が得られます。
86
3
章
開放
/
閉鎖原則(
Open-Closed Principle
)
設計原則
クラスを拡張に対しては開かれ
た状態にするべきだが、変更に
対しては閉じた状態にする。