一、介紹
1、在物件導向程式設計領域中,開閉原則規定「軟體中的物件(類,模組,函式等等)應該對於擴充套件是開放的,但是對於修改是封閉的」,這意味著乙個實體是允許在不改變它的源**的前提下變更它的行為。該特性在產品化的環境中是特別有價值的,在這種環境中,改變源**需要**審查,單元測試以及諸如此類的用以確保產品使用質量的過程。遵循這種原則的**在擴充套件時並不發生改變,因此無需上述的過程。
2、開閉原則(open close principle)是程式設計中最基礎,最重要的設計原則。
3、乙個軟體實體如類、模組和函式應該對擴充套件開放(提供方),對修改關閉(使用方),用抽象構建框架,用實現擴張細節。
4、當軟體需要變化時,盡量通過擴充套件實體的行為來實現變化,而不是通過修改已有的**來實現變化。
二、**實現
1、演示
package com.hao.demo.design.opc;
/** * @author haoxiansheng
* @date 2020-05-12
*/public class opencloseprinciple
}/**
* 1、簡單易操作、易於理解
* 2、違反了開閉原則
*/class graphiceditor else if (shape.m_type == 2) else if (shape.m_type == 3)
}public void drawrectaing(shape shape)
public void drawcircle(shape shape)
public void draw********(shape shape)
}// shape 類 基類
class shape
class rectangle extends shape
}class cricle extends shape
}// 增加乙個三角形
class ******** extends shape
}
2、改進
package com.hao.demo.design.opc;
/** * @author haoxiansheng
* @date 2020-05-12
*/public class opencloseprinciple2
}class graphiceditor2
}abstract class shape2
class rectangle2 extends shape2
}class cricle2 extends shape2
}// 增加乙個三角形
class ********2 extends shape2
}class other extends shape2
}
設計原則利劍六 開閉原則
英文名稱 open closed principle ocp 中文名稱 開閉原則 作 用 開閉原則與前面幾個原則不一樣,這個屬於是精神層面的原則,其目的就是告訴我們要擁抱變化,如何在考慮未來變化的同時來 設計好自己的專案,以及在變化發生的時候,如何來規避風險,使得變更帶來的影響最小化。乙個遵循開閉原...
設計模式六大設計原則之開閉原則
開閉原則 1 定義 乙個軟體實體如類 模組和函式應該對擴充套件開放,對修改關閉。2 問題由來 在軟體的生命週期內,因為變化 公升級和維護等原因需要對軟體原有 進行修改時,可能會給舊 中引入錯誤,也可能會使我們不得不對整個功能進行重構,並且需要原有 經過重新測試。3 解決方案 當軟體需要變化時,盡量通...
設計模式 開閉原則
開閉原則的核心是 對擴充套件開放,對修改關閉 白話意思就是我們改變乙個軟體時 比如擴充套件其他功能 應該通過擴充套件的方式來達到軟體的改變,而不應愛修改原有 來實現變化 軟體系統中包含的各種元件,例如模組 modules 類 classes 以及功能 functions 等等,應該在不修改現有 的基...