開閉原則的核心是:對擴充套件開放,對修改關閉
白話意思就是我們改變乙個軟體時(比如擴充套件其他功能),應該通過擴充套件的方式來達到軟體的改變,而不應愛修改原有**來實現變化
軟體系統中包含的各種元件,例如模組(modules)、類(classes)以及功能(functions)等等,應該在不修改現有**的基礎上,引入新功能。
開閉原則中「開」,是指對於元件功能的擴充套件是開放的,是允許對其進行功能擴充套件的;
開閉原則中「閉」,是指對於原有**的修改是封閉的,即不應該修改原有的**
說白了,增加功能或實現功能可以,但不能通過改變我的原始碼來實現。
如果乙個
軟體系統符合開閉原則的,那麼從
軟體工程的角度來看,它至少具有這樣的好處:
可復用性好。
我們可以在軟體完成以後,仍然可以對軟體進行擴充套件,加入新的
功能,非常靈活。因此,這個
軟體系統就可以通過不斷地增加新的元件,來滿足不斷變化的需求。
可維護性好。
由於對於已有的
軟體系統的元件,特別是它的抽象底層不去修改,因此,我們不用擔心軟體系統中原有元件的穩定性,這就使變化中的軟體系統有一定的穩定性和延續性。
設計模式 開閉原則
設計模式 開閉原則 即 對立與統一原則 軟體實體應該對擴充套件開放,對修改關閉,即實體應當通過擴充套件實現變化,而不是修改 實現變化 什麼是軟體實體,專案或軟體中按照一定邏輯規劃劃分的模組 抽象 類 方法書店銷售書籍 然後書寫 如下 書籍介面 public inte ce ibook 書店 類書籍,...
設計模式 開閉原則
ocp原則 開閉原則 1 對外能擴充套件 提供方 2 對修改關閉 使用方 下面這段 實現了繪製形狀的功能,如果設計如下 package ocp author lihaiyu date 2020 11 8 20 50 public class ocp 這是乙個用於繪製圖形的類,使用方 class gr...
開閉原則 設計模式
介紹 乙個軟體實體如類,模組和函式應該對擴充套件開放 對提供方 對修改關閉 對使用方 用抽象構建框架,用實現擴充套件細節。使用方 用於繪圖的類 class graphiceditor else if s.m type 2 else if s.m type 3 public void drawrect...