-
大小: 23KB文件類型: .applicati金幣: 2下載: 0 次發布日期: 2024-01-17
- 語言: Java
- 標簽:
資源簡介
/*
* 原始需求背景:
* 網宿CDN要按月收取客戶的服務費用,根據流量的大小、
* 服務的類型等,收取不同的費用,收費規則如下:
* web應用:1000元/M
* 流媒體應用:1000元/M*0.7
* 下載應用:1000元/M*0.5
* 月末打印報表時,要羅列每個用戶每個頻道的費用、客戶總費用,
* 還要打印該客戶的重要性指數,重要性指數=網頁流/100+下載流量/600;
*
* 需求變更場景:
* 系統已經開發出來了,接下來,運維部門現在希望對系統做一點修改,
* 首先,他們希望能夠輸出xml,這樣可以被其它系統讀取和處理,但是,
* 這段代碼根本不可能在輸出xml的代碼中復用report()的任何行為,唯一
* 可以做的就是重寫一個xmlReport(),大量重復report()中的行為,當然,
* 現在這個修改還不費勁,拷貝一份report()直接修改就是了。
* 不久,成本中心又要求修改計費規則,于是我們必須同時修改xmlReport()
* 和report(),并確保其一致性,當后續還要修改的時候,復制-黏貼的問題就
* 浮現出來了,這造成了潛在的威脅。
* 再后來,客服部門希望修改服務類型和用戶重要性指數的計算規則,
* 但還沒決定怎么改,他們設想了幾種方案,這些方案會影響用戶的計費規則,
* 程序必須再次同時修改xmlReport()和report(),隨著各種規則變得越來越復雜,
* 適當的修改點越 來越難找,不犯錯誤的機會越來越少。
* 現在,我們運用所學的OO原則和方法開始進行改寫吧。
*/
代碼片段和文件信息
評論
共有 條評論