開閉原則

在面向對象編程領域中 ， 開閉原則 ( The Open / Closed Principle, OCP ) 規定 “ 軟件中的對象 （ 類 ， 模塊 ， 函數等等 ） 應該對於擴展是開放的 ， 但是對於修改是封閉的 ” ， 這意味着一個實體是允許在不改變它的源代碼的前提下變更它的行爲 。 該特性在產品化的環境中是特別有價值的 ， 在這種環境中 ， 改變源代碼需要代碼審查 ， 單元測試以及諸如此類的用以確保產品使用品質的過程 。 遵循這種原則的代碼在擴展時並不發生改變 ， 因此無需上述的過程 。 開閉原則的命名被應用在兩種方式上 。 這兩種方式都使用了繼承來解決明顯的困境 ， 但是它們的目的 ， 技術以及結果是不同的 。