Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Object Oriented Training - Session 2
Search
hatelove
May 30, 2012
Programming
4.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Object Oriented Training - Session 2
interface, abstract 與 意圖導向設計(Top-Down)
hatelove
May 30, 2012
More Decks by hatelove
See All by hatelove
1. 在沙箱中開發
hatelove
12
3.1k
BDD in .NET - TDD 在實務上的最後一塊拼圖
hatelove
4
3k
OO training 基本原則整理
hatelove
2
5.3k
OO training homework 3 review and summary
hatelove
1
11k
OO training homework 2 review and summary
hatelove
1
4.7k
OO training homework 1 review and summary
hatelove
1
8.2k
Object Oriented Training - Session 4
hatelove
1
5.2k
Object Oriented Training - Session 3
hatelove
1
11k
Object Oriented Training - Session 1
hatelove
1
8.4k
Other Decks in Programming
See All in Programming
Event is what happens
moro
2
4k
AmebaブログはKMPから卒業します
kmars0605
0
340
Spec-driven Development with AI
simas
PRO
0
2.3k
[DroidKnights 2026] Workflow AX: From Auto-Documented Policies to E2E Testing
raeminkang
0
540
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
180
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
190
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
240
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
170
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
15
11k
Crash Auto Pipelines
veronikapj
1
400
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
220
Rails初心者がパスキーを実装してみて大変だったこと
ktombow
0
160
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Leo the Paperboy
mayatellez
10
2.4k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Bash Introduction
62gerente
615
220k
Abbi's Birthday
coloredviolet
4
11k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
330
How STYLIGHT went responsive
nonsquared
100
6.4k
We Have a Design System, Now What?
morganepeng
55
8.4k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
520
The Pragmatic Product Professional
lauravandoore
37
7.5k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Site-Speed That Sticks
csswizardry
13
1.6k
Transcript
Trainer: Joey Chen Date: 2012/05/21 Object Oriented Training – Session
2
請各小組長在30秒內,收集上面有數字的物品 [任務]前線支援
- 3 - Interface 91 I前線支援介面 +取得上面有數字 的物品()
Interface
- 5 - 明確實作介面?
明確實作介面:I地球人、I納美人 Demo
- 7 - 明確實作介面 • 依據使用的介面型別,決定呼叫的方法 • 直接使用類別,無法呼叫明確實作介面的方法 • 使用情境
– 介面方法簽章相同,但執行意義或內容不同時 – 限制只有面對該介面時,才可以被呼叫 – 泛型與非泛型類別 • IEnumerator與IEnumerator<T>
Abstract
- 9 - 水龍頭
- 10 - 水龍頭
- 11 - 相同的抽象,不同的實作
- 12 - More
- 13 - Abstract & Interface • 差異在哪 • 適用場景
• 組合使用的例子
- 14 - [任務]把大象放到冰箱 列出每個 步驟 標示出步驟 裡的主詞、 動詞與受詞 濃縮描述
Top-Down的設計方式 意圖導向設計
- 16 - 意圖導向設計 • 設計 – 行為的腳本(Scenario) – 抽象的描述每一個步驟
– 將步驟濃縮成一個動作 • 實作 – 每個步驟中的主詞、動詞、受詞標示出來 • 主詞:屬於哪一個類別 • 動詞:方法名稱 • 受詞:可能為method parameter,或return type – 方法執行後,主詞與受詞的狀態,有什麼樣的改變 • 形容詞:屬性
Visual Studio的『產生』功能 小技巧 Live Demo
作業1
- 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
- 20 - 作業1 - Tips • Code review的流程只有一份 •
什麼東西應該在Abstract上 • 什麼東西應該在Interface上 • 每個manager子類,都應該只有自己與眾不同的部分
- 21 - 作業2 – CPR急救方式 Scenario參考
- 22 - 作業2 - Tips • 第一層步驟為:叫、叫、A、B、C。 • 第三層步驟的實作
– 使用Console.WriteLine(“步驟描述”)即可
- 23 - 回顧
- 24 - 結論 • 限制,才會帶來彈性 • 一個系統的重用程度,看Abstract • 一個系統的抽象程度,看Interface
• 一個物件,只知道自己本身的內容,對外只依賴於抽象/介面
- 25 -
Thanks for your listening Q & A