六大原則之「開閉原則(OCP)「

2021-09-29 11:42:15 字數 548 閱讀 4309

​開閉原則,英文縮寫ocp,全稱open closed principle。

原始定義:software entities (classes, modules, functions) should be open for extension but closed for modification。

字面翻譯:軟體實體(包括類、模組、功能等)應該對擴充套件開放,但是對修改關閉。

一般情況,我們接到需求變更的通知,通常方式可能就是修改模組的源**,然而修改已經存在的源**是存在很大風險的,尤其是專案上線執行一段時間後,開發人員發生變化,這種風險可能就更大。所以,為了避免這種風險,在面對需求變更時,我們一般不修改源**,即所謂的對修改關閉。不允許修改源**,我們如何應對需求變更呢?答案就是我們下面要說的對擴充套件開放。

通過擴充套件去應對需求變化,就要求我們必須要面向介面程式設計,或者說面向抽象程式設計。所有引數型別、引用傳遞的物件必須使用抽象(介面或者抽象類)的方式定義,不能使用實現類的方式定義;通過抽象去界定擴充套件,比如我們定義了乙個介面a的引數,那麼我們的擴充套件只能是介面a的實現類。總的來說,開閉原則提高系統的可維護性和**的重用性。

六大原則之開閉原則

軟體實體應當對擴充套件開放,對修改關閉 software entities should be open for extension,but closed for modification 這就是開閉原則的經典定義。開閉原則的含義是 當應用的需求改變時,在不修改軟體實體的源 或者二進位制 的前提下,...

設計模式六大原則之開閉原則

通常,乙個成熟的軟體產品需要經過漫長和無數的測試才可以發布投入正常使用,在軟體的測試或者需求變化的過程中我們很可能會經常增加或者刪去某些功能,軟體的後期公升級也是乙個永恆的話題,無論是後期軟體的公升級還是測試過程當中功能的修改,都會使得我們對整個系統再次進行全面的測試,對原有的 進行大規模的修改,這...

設計模式六大原則之開閉原則

定義 類 模組和函式應該對擴充套件開放,對修改關閉。問題由來 在軟體的生命週期內,因為變化 公升級和維護等原因需要對軟體原有 進行修改時,可能會給舊 中引入錯誤,也可能會使我們不得不對整個功能進行重構,並且需要原有 經過重新測試。解決方案 當軟體需要變化時,盡量通過擴充套件軟體實體的行為來實現變化,...