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

正文內(nèi)容

如何提高產(chǎn)品開發(fā)品質(zhì)-文庫吧資料

2025-02-24 13:33本頁面
  

【正文】 private String downprefund。 …getset 方法 } public class FundView { private double fund。 private String upprefund。 } } public class RepUtilFunc { private List initFundList(…) { …. (planView)。 (()+pla())。通常,原本使用那些參數(shù)的函數(shù)對那些參數(shù)會有一些共通措施,如果將這些共通行為移到新對象中,你可以減少很多重復代碼 重構(gòu)方法介紹:函數(shù)遷移 (1) public class RepUtilFunc { private List initFundList(…) { …. (fView,planView)。 ? 本項重構(gòu)還可以帶給你更多好處。本項重構(gòu)的價值在于縮短了參數(shù)列的長度,而你知道,過長的參數(shù)列總是難以理解的。這樣一組參數(shù)就是所謂的data Clump(數(shù)據(jù)泥團 ),我們可以運用一個對象包裝所有這些數(shù)據(jù),再以該對象取代它們。 } 重構(gòu)方法介紹:引入?yún)?shù)對象 (3) ? 你常會看到特定的數(shù)組參數(shù)總是一起被傳遞。 (getYearPlanList (paramObj))。 } } 重構(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)。 =planType。 =planYear。 private String dataType。 private String iSeason。 } public class PlanParamObj { private String operatorID。 (getYearPlanList (operatorID,planYear, iSeason,planType,dataType))。這樣做的成本則是需耍額外寫出委托函數(shù),但這些函數(shù)都非常簡單,極少可能出錯。如果以委托取代繼承,你可以更清楚地表明 :你只需要受托類的一部分功能。 ? 你可以選擇容忍,并接受傳統(tǒng)說法: subclass可以只使用superclas、功能的一部分。這種情況下你所擁有的接口并末真正反映出 class的功能。 } } 重構(gòu)方法介紹:以委托取代繼承(2) ? 繼承是一件很棒的事,但有時候它并不是你要的。 } public void savePlan (int planYear,int itemId,int dataType){ PlanUtil planUtil = PlanUtil .create(dataType)。 重構(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)。但如果改用多態(tài),只需建一個新的 subclass并在其中提供適當?shù)暮瘮?shù)就行了。如果同一組條件式在程序許多地點出現(xiàn),那么使用多態(tài)的收益是最大的。正因為有了多態(tài),所以你會發(fā)現(xiàn):「針對 type code(型別碼 )而寫的 switch語句,以及 [針對 type string(型別名稱字符串 )而寫的 ifthenelse語句 ]在面向?qū)ο蟪绦蛑泻苌俪霈F(xiàn)。 //調(diào)用保存計劃數(shù)據(jù)的方法 (year,itemId,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)。 } } //...保存建議計劃數(shù)據(jù) public void savePrePlan… //...保存綜合計劃數(shù)據(jù) public void saveColPlan… //...保存開工計劃數(shù)據(jù) public void saveAftPlan… public class PrePlanUtil extends PlanUtil { public void setPlanState (int planYear,int itemId,int dataType) {…. 更新建議計劃狀態(tài)方法 } public void savePlan (int planYear,int itemId,int dataType) {… 保存建議計劃數(shù)據(jù)方法 } } public class ColPlanUtil extends PlanUtil { public void setPlanState (int planYear,int itemId,int dataType) {…. 更新綜合計劃狀態(tài)方法 } public void savePlan (int planYear,int itemId,int dataType) {… 保存綜合計劃數(shù)據(jù)方法 } 重構(gòu)方法介紹:以多態(tài)取代條件表達式( 3) //調(diào)用更新計劃狀態(tài)的方法 (year,itemId,dataType)。 case 3:saveAftPlan(planYear,itemId)。 } 重構(gòu)方法介紹:以多態(tài)取代條件表達式( 2) //保存計劃數(shù)據(jù) public void savePlan(int planYear,int itemId,int dataType) { switch dataType { case 1:savePrePlan(planYear,itemId)。 } public abstract void setPlanState (int planYear,int itemId,int dataType)。 case 3:return new AftPlanUtil()。 } } //...更新建議計劃狀態(tài) public void setPrePlanState… //...更新綜合計劃狀態(tài) public void setColPla
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1