freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

如何提高產(chǎn)品開發(fā)品質(zhì)(ppt61頁)(編輯修改稿)

2025-02-23 17:37 本頁面
 

【文章內(nèi)容簡介】 temId,dataType)。 public class AftPlanUtil extends PlanUtil { public void setPlanState (int planYear,int itemId,int dataType) {…. 更新開工計劃狀態(tài)方法 } public void savePlan (int planYear,int itemId,int dataType) {… 保存開工計劃數(shù)據(jù)方法 } } //調(diào)用 PlanUtil planUtil = PlanUtil .create(dataType)。 //調(diào)用更新計劃狀態(tài)的方法 (year,itemId,dataType)。 //調(diào)用保存計劃數(shù)據(jù)的方法 (year,itemId,dataType)。 重構(gòu)方法介紹:以多態(tài)取代條件表達式( 4) ? 多態(tài)最根本的好處就是:如果你需要根據(jù)對象的不同型別而采取不同的行為,多態(tài)使你不必編寫明顯的條件式。正因為有了多態(tài),所以你會發(fā)現(xiàn):「針對 type code(型別碼 )而寫的 switch語句,以及 [針對 type string(型別名稱字符串 )而寫的 ifthenelse語句 ]在面向?qū)ο蟪绦蛑泻苌俪霈F(xiàn)。 ? 多態(tài)能夠給你帶來很多好處。如果同一組條件式在程序許多地點出現(xiàn),那么使用多態(tài)的收益是最大的。使用條件式時,如果你想添加一種新型別,就必須杳找并更新所有條件式。但如果改用多態(tài),只需建一個新的 subclass并在其中提供適當(dāng)?shù)暮瘮?shù)就行了。 class用戶不需要了解這個 subclass,這就大大降低了系統(tǒng)各部分之間的耦合程度,使系統(tǒng)升級 .更加容易。 重構(gòu)方法介紹:以委托取代繼承(1) //繼承解決方案 public classBusPlanManagerServiceImpl { public void setPlanState (int planYear,int itemId,int dataType) {…. 更新建議計劃狀態(tài)方法 } public void savePlan (int planYear,int itemId,int dataType) {… 保存建議計劃數(shù)據(jù)方法 } } public class PrePlanService extends BusPlanManagerServiceImpl .. public class ColPlanService extends BusPlanManagerServiceImpl .. public class AftPlanService extends BusPlanManagerServiceImpl .. //委托解決方案 public classBusPlanManagerServiceImpl { public void setPlanState (int planYear,int itemId,int dataType){ PlanUtil planUtil = PlanUtil .create(dataType)。 //調(diào)用更新計劃狀態(tài)的方法 (year,itemId,dataType)。 } public void savePlan (int planYear,int itemId,int dataType){ PlanUtil planUtil = PlanUtil .create(dataType)。 //調(diào)用更新計劃狀態(tài)的方法 planUtil. savePlan (year,itemId,dataType)。 } } 重構(gòu)方法介紹:以委托取代繼承(2) ? 繼承是一件很棒的事,但有時候它并不是你要的。常常你會遇到這樣的情況 :一開始你繼承了一個 class ,隨后發(fā)現(xiàn)superclass中的許多操作井不真正適用于 subclass。這種情況下你所擁有的接口并末真正反映出 class的功能?;蛘?,你可能發(fā)現(xiàn)你從 superclass中繼承了一大堆 subclas并不需要的數(shù)據(jù),抑或者你可能發(fā)現(xiàn) superclass中的某些protected函數(shù)對 subclass并沒有什么意義。 ? 你可以選擇容忍,并接受傳統(tǒng)說法: subclass可以只使用superclas、功能的一部分。但這樣做的結(jié)果是:代碼傳達的信息與你的意圖南轅北轍,這是一種混淆,你應(yīng)該將它去除。如果以委托取代繼承,你可以更清楚地表明 :你只需要受托類的一部分功能。接口中的哪一部分應(yīng)該被使用,哪一部分應(yīng)該被忽略,完全由你主導(dǎo)控制。這樣做的成本則是需耍額外寫出委托函數(shù),但這些函數(shù)都非常簡單,極少可能出錯。 重構(gòu)方法介紹:引入?yún)?shù)對象 (1) public List getYearPlanList (String operatorID, String planYear,String iSeason, String planType,String dataType).. public List getLastYearPlanList (String operatorID, String planYear,String iSeason, String planType,String dataType) public void fillPlanData (String operatorID, String planYear,String iSeason, String planType,String dataType) { PlanData planData=new PlanData()。 (getYearPlanList (operatorID,planYear, iSeason,planType,dataType))。 (getLastYearPlanList (operatorID,planYear, iSeason,planType,dataType))。 } public class PlanParamObj { private String operatorID。 private String planYear。 private String iSeason。 private String planType,。 private String dataType。 public PlanParamObj (String operatorID, String planYear,String iSeason, String planType,String dataType) { =operatorID。 =planYear。 =iSeason。 =planType。 =dataType。 } } 重構(gòu)方法介紹:引入?yún)?shù)對象 (2) public List getYearPlanList (PlanParamObj paramObj).. public List getLastYearPlanList (PlanParamObj paramObj).. public void fillPlanData (String operatorID, String planYear,String iSeason, String planType,String dataType) { PlanParamObj paramObj = new PlanParamObj (operatorID,planYear, iSeason,planType,dataType)。 PlanData planData=new PlanData()。 (getYearPlanList (paramObj))。 (get
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1