開閉原則: 對修改關閉, 對拓展開放
1.如何理解「對擴充套件開放、對修改關閉」?
新增乙個新的功能,應該是通過在已有**基礎上擴充套件**(新增模組、類、方法、屬性等),而非修改已有**(修改模組、類、方法、屬性等)的方式來完成。關於定義,我們有兩點要注意。第一點是,開閉原則並不是說完全杜絕修改,而是以最小的修改**的代價來完成新功能的開發。第二點是,同樣的**改動,在粗**粒度下,可能被認定為「修改」;在細**粒度下,可能又被認定為「擴充套件」。
2.如何做到「對擴充套件開放、修改關閉」?
我們要時刻具備擴充套件意識、抽象意識、封裝意識。在寫**的時候,我們要多花點時間思考一下,這段**未來可能有哪些需求變更,如何設計**結構,事先留好擴充套件點,以便在未來需求變更的時候,在不改動**整體結構、做到最小**改動的情況下,將新的**靈活地插入到
擴充套件點上。
public
class
alert
public
void
check
(apistatinfo apistatinfo)}}
public
class
apistatinfo
public
abstract
class
alerthandler
public
abstract
void
check
(apistatinfo apistatinfo);}
public
class
tpsalerthandler
extends
alerthandler
@override
public
void
check
(apistatinfo apistatinfo)}}
public
class
erroralerthandler
extends
alerthandler
@override
public
void
check
(apistatinfo apistatinfo)}}
public
class
public alert getalert()
// 餓漢式單例
private
static
new();
private()
public()
}public
class
demo
}
設計模式原則之開閉原則
定義 乙個軟體實體如類 模組和函式應該對擴充套件開放,對修改關閉。問題由來 在軟體的生命週期內,因為變化 公升級和維護等原因需要對軟體原有 進行修改時,可能會給舊 中引入錯誤,也可能會使我們不得不對整個功能進行重構,並且需要原有 經過重新測試。解決方案 當軟體需要變化時,盡量通過擴充套件軟體實體的行...
設計模式原則之開閉原則
對擴充套件開放,對修改關閉。軟體功能擴充套件變化 用抽象構建框架,用實現擴充套件細節。程式設計中,遵循其它原則以及使用設計模式的目的就是遵循開閉則。程式設計中最基礎,最重要的設計原則。傳介面 public class kaibiyuanze 圖形基類 class shape 設定圖形為矩形的類 cl...
設計模式之開閉原則
open closed principle軟體設計中的 開 閉原則 這個原則最早是由bertrand meyer提出,英文的原文是 software entities should be open for extension,but closed for modification.意思是說,乙個軟體...