原則:
乙個軟體實體對擴充套件開放,對修改關閉。
如何做到開閉原則?
"開-閉"原則從另乙個角度講述,就是所謂的"對可變性的封裝原則"。
"對可變性的封裝原則"講的是找到乙個系統的可變元素,將之封裝起來。
總結:找到乙個系統的可變元素,將它封裝起來。
黎克特制替換原則
原則:任何基類可以出現的地方,子類一定可以出現。黎克特制替換原則是對"開-閉"原則的補充,實現"開-閉"原則的關鍵步驟就是抽象化。而基類與子類的繼承關係就是抽象化的具體體現,所以黎克特制替換原則是對實現抽象化的具體步驟的規範。
一般而言,違反歷史替換原則的,也違背"開-閉"原則,反過來並不一定成立。
依賴倒轉原則
原則:要依賴於抽象,不要依賴與實現。
換而言之,要想實現"開-閉"原則,就應當堅持依賴倒轉原則。違反依賴倒轉原則,就不可能達到"開-閉"原則的要求。
合成/聚合復用原則
原則:要盡量使用合成/聚合,而不是繼承關閉達到復用的目的。
合成/聚合復用原則是與黎克特制替換原則相輔相成的,兩者又都是對實現"開-閉"原則的具體步驟的規範,前者要求先考慮合成/聚合關係,後者要求在使用繼承關係時,必須確定這個關係是符合一定條件的。
違反這一原則,就無法實現"開-閉"原則這一目標。
迪公尺特原則
原則:乙個軟體實體應當與盡可能少的其他實體發生相互作用。
乙個遵守迪公尺特原則設計出來的系統在功能擴充套件時,會相對更容易地做到修改的關閉。就就是說,迪公尺特法則是一條通向"開-閉"原則的道路。
介面隔離原則
原則:應當為客戶端提供盡可能小的單獨的介面,而不要提供大的總介面。
遵循介面隔離原則與迪公尺特法則,會使乙個軟體系統在功能擴充套件的過程中,不會將修改的壓力傳遞到其他的物件。
設計模式 開閉原則
開閉原則的核心是 對擴充套件開放,對修改關閉 白話意思就是我們改變乙個軟體時 比如擴充套件其他功能 應該通過擴充套件的方式來達到軟體的改變,而不應愛修改原有 來實現變化 軟體系統中包含的各種元件,例如模組 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...