**,對擴充套件開放,對修改關閉。(軟體功能擴充套件變化)
用抽象構建框架,用實現擴充套件細節。
程式設計中,遵循其它原則以及使用設計模式的目的就是遵循開閉則。
程式設計中最基礎,最重要的設計原則。
傳介面
public
class
kaibiyuanze
}//圖形基類
class
shape
//設定圖形為矩形的類
class
rectangle
extends
shape
}//設定圖形為圓形的類
class
circle
extends
shape
}//用於繪圖的類
class
graphiceditor
else
if(s.m_type ==2)
}public
void
drawrectangle
(shape r)
public
void
drawcircle
(shape r)
}//功能增加要繪製三角形
//1.增加設定圖形為三角行的類
class
********
extends
shape
}//2.要修改用於繪圖的類的方法,即增加繪製三角形方法。
class
graphiceditor
else
if(s.m_type ==2)
else
if(s.m_type ==3)
}public
void
drawrectangle
(shape r)
public
void
drawcircle
(shape r)
//增加繪製三角形方法。
public
void
draw********()
} 方法中還得呼叫繪製三角形的方法。
//功能的增加修改了繪製類的**。所以這個方式不好。
public
class
kaibiyuanze
}//將shape類做成抽象類,並提供乙個抽象的draw方法。讓子類實現draw方法。
inte***ce $shape
//繪製圖形為矩形的類
class $rectangle implements $shape
}//繪製圖形為圓形的類
class $circle implements $shape
}//繪製圖形為三角形的類
class $******** implements $shape
}//用於繪圖的類
class $graphiceditor
}
設計模式原則之開閉原則
定義 乙個軟體實體如類 模組和函式應該對擴充套件開放,對修改關閉。問題由來 在軟體的生命週期內,因為變化 公升級和維護等原因需要對軟體原有 進行修改時,可能會給舊 中引入錯誤,也可能會使我們不得不對整個功能進行重構,並且需要原有 經過重新測試。解決方案 當軟體需要變化時,盡量通過擴充套件軟體實體的行...
設計模式之開閉原則
open closed principle軟體設計中的 開 閉原則 這個原則最早是由bertrand meyer提出,英文的原文是 software entities should be open for extension,but closed for modification.意思是說,乙個軟體...
設計原則之開閉原則
定義 乙個軟體實體 類 模組或函式 應當對擴充套件開放,對修改關閉。也就是說軟體實體應盡量在不修改原有 的情況下進行擴充套件。問題 在軟體的生命週期內,因為變化 公升級和維護等原因需要對軟體原有 進行修改時,可能會給舊 中引入錯誤,也可能會使我們不得不對整個功能進行重構,並且需要重新測試。方案 當軟...