Slide 1

Slide 1 text

Trainer: Joey Chen Date: 2012/05/21 Object Oriented Training – Session 2

Slide 2

Slide 2 text

請各小組長在30秒內,收集上面有數字的物品 [任務]前線支援

Slide 3

Slide 3 text

- 3 - Interface 91 I前線支援介面 +取得上面有數字 的物品()

Slide 4

Slide 4 text

Interface

Slide 5

Slide 5 text

- 5 - 明確實作介面?

Slide 6

Slide 6 text

明確實作介面:I地球人、I納美人 Demo

Slide 7

Slide 7 text

- 7 - 明確實作介面 • 依據使用的介面型別,決定呼叫的方法 • 直接使用類別,無法呼叫明確實作介面的方法 • 使用情境 – 介面方法簽章相同,但執行意義或內容不同時 – 限制只有面對該介面時,才可以被呼叫 – 泛型與非泛型類別 • IEnumerator與IEnumerator

Slide 8

Slide 8 text

Abstract

Slide 9

Slide 9 text

- 9 - 水龍頭

Slide 10

Slide 10 text

- 10 - 水龍頭

Slide 11

Slide 11 text

- 11 - 相同的抽象,不同的實作

Slide 12

Slide 12 text

- 12 - More

Slide 13

Slide 13 text

- 13 - Abstract & Interface • 差異在哪 • 適用場景 • 組合使用的例子

Slide 14

Slide 14 text

- 14 - [任務]把大象放到冰箱 列出每個 步驟 標示出步驟 裡的主詞、 動詞與受詞 濃縮描述

Slide 15

Slide 15 text

Top-Down的設計方式 意圖導向設計

Slide 16

Slide 16 text

- 16 - 意圖導向設計 • 設計 – 行為的腳本(Scenario) – 抽象的描述每一個步驟 – 將步驟濃縮成一個動作 • 實作 – 每個步驟中的主詞、動詞、受詞標示出來 • 主詞:屬於哪一個類別 • 動詞:方法名稱 • 受詞:可能為method parameter,或return type – 方法執行後,主詞與受詞的狀態,有什麼樣的改變 • 形容詞:屬性

Slide 17

Slide 17 text

Visual Studio的『產生』功能 小技巧 Live Demo

Slide 18

Slide 18 text

作業1

Slide 19

Slide 19 text

- 19 - 作業1 - 說明 • 骰子點數決定manager – 1,2為Kevin – 3,4為Jerry – 5,6為Jesse • Code review的流程都是 – WBS review – Todo review – SD review – Code review • 若SD review不通過,則不進行code review

Slide 20

Slide 20 text

- 20 - 作業1 - Tips • Code review的流程只有一份 • 什麼東西應該在Abstract上 • 什麼東西應該在Interface上 • 每個manager子類,都應該只有自己與眾不同的部分

Slide 21

Slide 21 text

- 21 - 作業2 – CPR急救方式 Scenario參考

Slide 22

Slide 22 text

- 22 - 作業2 - Tips • 第一層步驟為:叫、叫、A、B、C。 • 第三層步驟的實作 – 使用Console.WriteLine(“步驟描述”)即可

Slide 23

Slide 23 text

- 23 - 回顧

Slide 24

Slide 24 text

- 24 - 結論 • 限制,才會帶來彈性 • 一個系統的重用程度,看Abstract • 一個系統的抽象程度,看Interface • 一個物件,只知道自己本身的內容,對外只依賴於抽象/介面

Slide 25

Slide 25 text

- 25 -

Slide 26

Slide 26 text

Thanks for your listening Q & A