Slide 1

Slide 1 text

Date: 2012/05/21 OO training – homework 1 review

Slide 2

Slide 2 text

作業整理摘要

Slide 3

Slide 3 text

- 3 - 物件職責 • 將商品資訊聚合成為Entity • 把new Class的動作,與使用Class的動作隔開 • 物流商是否具有長、寬、高、重點等商品屬性 • 商品上是否應該擁有計算運費的方法 • 物流商的名稱,是否可由外部設定

Slide 4

Slide 4 text

- 4 - 重構 • 重構應確保重構後的結果,與重構前相同 – 工具 • Selenium • 單元測試 – 例子 • 物流商配置顛倒 • double改成float或int • 衍生設計 • Visual Studio重構功能 – 擷取方法 – 擷取介面 – 封裝欄位

Slide 5

Slide 5 text

- 5 - DRY • 判斷式中,重複出現相同的程式碼,是否可以移出判斷式之 外 • 子類與父類相同的部份,是否只需放在父類 • 抽象來看,是否相同,不同的地方在哪

Slide 6

Slide 6 text

- 6 - 建議 • 每個Class獨立一個檔案 • 預設的todo註解請記得清除 – 工作清單視窗

Slide 7

Slide 7 text

- 7 - 衍生需求 • 當每間物流商計算運費所需要的商品資訊增加時,該如何修 改程式 • 低溫冷藏時,計算運費的方式不同 • 頁面新需求為,選擇最便宜的物流商,並呈現運費結果

Slide 8

Slide 8 text

- 8 - 課程補充 • new與override • overload

Slide 9

Slide 9 text

- 9 - Step • 把計算運費抽出來,成為BL – abstract – interface • 把new class與使用class隔開 – function – Factory class • 把商品資訊定義成Entity • 抽象工廠 • 物流商名稱使用Enum Description

Slide 10

Slide 10 text

Q & A