開閉原則:當軟體需要變化時,盡量通過擴充套件軟體實體的行為來實現變化,而不是通過修改已有的**來實現變化。
開閉原則**1:(未能遵循開閉原則,存在優化的空間)
/** * 開閉原則**1
*/public class oncg
}/**
* 用於繪圖的類[使用方]
*/class graphiceditor else if (s.m_typte == 2) else if (s.m_typte == 3)
} // 繪製矩形
public void drawrectangle(shape s)
// 繪製圓形
public void drawcircle(shape s)
public void draw********(shape s)
}/**
* shape類,基類
*/class shape
/** * 矩形實體類
*/class rectangle extends shape
}/**
* 圓形實體類
*/class circle extends shape
}/**
* 三角形實體類
*/class ******** extends shape
}
解析:違反了ocp原則,新增乙個新的類,比如三角形,我們需要修改的地方較多;優化方案將使用ocp原則,請看下篇; 設計模式 七大原則 開閉原則
開閉原則,是程式設計中最基礎 最重要的設計原則。乙個軟體實體如類,模組和函式應對外擴充套件開放 對提供方 對修改關閉 對使用方 用抽象構建框架,用實現擴充套件細節。當軟體需要變化時,盡量通過擴充套件軟體實體的行為來實現變化,而不是通過修改已有的 來實現變化。說白了就是增加了新功能,盡量保證以前的使用...
七大原則 開閉原則
開閉原則 open closed principle,ocp 由勃蘭特 梅耶 bertrand meyer 提出,他在 1988 年的著作 物件導向軟體構造 object oriented software construction 中提出 軟體實體應當對擴充套件開放,對修改關閉 software ...
設計模式七大原則之開閉原則
簡介 開閉原則是程式設計過程中最基礎 最重要的原則,前面講到的幾個原則,也都是為了實現開閉原則。那麼他是如何開放,又是如何關閉的呢?例項展示 這是乙個用於繪圖的類 使用方 class graphiceditor else if shape.my type 2 else if shape.my typ...