開放封閉原則:是說軟體實體(類、模組、函式等等)應該可以擴充套件,但是不可修改。這個原則其實有兩個特徵,乙個是:對於擴充套件是開放的,另乙個是:對於更改是封閉的。
怎樣的設計才能面對需求的改變缺可以保持相對穩定,從而使得系統可以在第乙個版本以後不斷推出新的版本呢?開放封閉原則給我們答案。
無論模組是多麼的『封閉』,都會存在一些無法對之封閉的變化。既然不可能完全封閉,設計人員必須對於他設計的模組應該對哪種變化封閉做出選擇。他必須先猜測出最有可能發生變化種類,然後構造抽象來隔離那些變化。
等到變化發生時立即採取行動,而不是先滿足目前的變化,而不可慮其它可能的變化。
在我們最初編寫**時,假設變化不會發生。當變化發生時,我們就建立抽象來隔離以後發生的同類的變化。
開放-封閉的精神所在是:面對需求的變化,對程式的改動是通過增加新**進行的,而不是更改現有的**。
我們希望的是在開發工作展開不久就知道可能發生的變化。查明可能發生的變化所等待的時間越長,要建立正確的抽象就越困難。
開放-封閉原則是物件導向設計的核心所在。遵循這個原則可以帶來物件導向技術所聲稱的巨大好處,也就是可維護、可擴充套件、可復用、靈活性好。開發人員應該僅對程式中呈現出頻繁變化的那些部分做出抽象,然而,對於應用程式中的每個部分都刻意地進行抽象同樣不是乙個好主意。拒絕不成熟的抽象和抽象本身一樣重要。
設計模式 (四)開放 封閉原則
總結 開放 封閉原則,是說軟體實體應該可以擴充套件,但是不可以修改。怎樣的設計才能面對需求的改變卻可以保持相對穩定,從而使得系統可以在第乙個版本以後不斷推出新的版本呢?無論模組是多麼的 封閉 都會存在一些無法對之封閉的變化。既然不可能完全封閉,設計人員必須對於他設計的模組應該對哪種變化封閉做出選擇。...
設計模式原則 開放 封閉原則
定義 軟體實體應該是可以擴充套件,但是不可修改,對擴充套件開放,對更改封閉 場景 某公司需要招聘3類員工,分別是 主管,程式設計師,銷售。公司根據不同的員工的需求,配置不同的資源。比如程式設計師應該配台電腦。首先定義乙個 員工型別 列舉 using system using system.colle...
設計模式 開放封閉原則
物件導向設計原則中,最重要的原則就是此原則。開放封閉原則解釋 軟體實體 類,模組,函式等 應該是可以擴充套件的,但是是不可以修改的。開放封閉原則有兩大特徵要牢記 一 對於擴充套件是開放的 二 對於修改是封閉的 為什麼要用到開放封閉原則?我們在做任何系統的時候,都不要指望系統一開始就需求確定,這是不現...