開閉原則(ocp:open closed principle):乙個軟體實體如類,模組和函式應該對擴充套件開放,對修改關閉。用抽象構建架構,用實現擴充套件細節。當軟體需要變化時,盡量通過擴充套件軟體實體的行為來實現變化,而不是通過修改已有的**來實現變化。
public
class
exer
}class
coach
else
if(man.playtype ==2)
}public
void
execrun
(sportsman man)
public
void
execjump
(sportsman man)
}class
sportsman
class
runner
extends
sportsman
class
jumper
extends
sportsman
分析:
① 優點:簡單易操作
② 違反開閉原則,即對擴充套件開放,對修改關閉。即當我們給類增加新功能時,盡量不要修改**,或者盡可能少修改**。
當我新增功能時上面的**就會需要改動很多地方,優化:
public
class
exer
}class
coach
// public void execrun(sportsman man)
// public void execjump(sportsman man)
}abstract
class
sportsman
class
runner
extends
sportsman
@override
public
void
execplay()
}class
jumper
extends
sportsman
@override
public
void
execplay()
}// 新增功能
class
swimer
extends
sportsman
@override
public
void
execplay()
}
設計模式六大原則之開閉原則
通常,乙個成熟的軟體產品需要經過漫長和無數的測試才可以發布投入正常使用,在軟體的測試或者需求變化的過程中我們很可能會經常增加或者刪去某些功能,軟體的後期公升級也是乙個永恆的話題,無論是後期軟體的公升級還是測試過程當中功能的修改,都會使得我們對整個系統再次進行全面的測試,對原有的 進行大規模的修改,這...
設計模式六大原則之開閉原則
定義 類 模組和函式應該對擴充套件開放,對修改關閉。問題由來 在軟體的生命週期內,因為變化 公升級和維護等原因需要對軟體原有 進行修改時,可能會給舊 中引入錯誤,也可能會使我們不得不對整個功能進行重構,並且需要原有 經過重新測試。解決方案 當軟體需要變化時,盡量通過擴充套件軟體實體的行為來實現變化,...
設計模式六大原則之開閉原則
這是在我大學學習過程中,老師給我講的第乙個設計原則 開閉原則,至今為止,我只記住了一句話 程式對修改關閉,對擴充套件開放。接下來得好好理解一下這句話 開閉原則是程式設計中最基礎 最重要的設計原則 基本介紹 1 乙個軟體實體如類,模組和函式應該對擴充套件開放 對於提供方來說 對修改關閉 對於使用方來說...