More Related Content
Similar to 模式入門第一堂課: 30分鐘寫出一個模式
Similar to 模式入門第一堂課: 30分鐘寫出一個模式 (20)
模式入門第一堂課: 30分鐘寫出一個模式
- 2. 我是誰
• 2012年7月成立泰迪軟體,從事敏捷開發顧問、
教育訓練、軟體工具導入等服務。
• 2012年6月,出版暢銷書「笑談軟體工程:敏捷
方法的逆襲」。
• 2012年4月起,多次講授Scrum課程,與學員互
動氣氛佳,滿意度高。
• 超過16年design pattern實務經驗,曾在pattern領
域最著名的PLoP國際研討會發表論文。
– PLoP 2004:A Pattern Language for Personal
Authoring in E-Learning.
– Asia PLoP 2011:Emerging Patterns of Continuous
Integration for Cross-Platform Software
Development.
• 2010年起,主講多次ezScrum團隊舉辦的Scrum
講座。
• 2009年取得Certified ScrumMaster。
• 2008年取得台北科技大學資工博士。
• 2007年起經營「搞笑談軟工」部落格。
- 5. Each pattern is a
three-part rule,
which express a
relation between a
certain context, a
problem, and a
solution.
- 6. A pattern is a solution to a problem in
a context
World
Context Machine
Problem
Solution
Problem
(How, How to,
(Requirement,
How much)
What)
- 7. An Example, Take 1
• Context: 你是經營線上遊戲的業者。
• Problem: 為了快速有產品可以上市,你用高
價搶下國外知名產品的代理權。就在付款之
後不久,國外產商惡性倒閉。要如何要回你
的簽約金?
• Solution: 找黑道去喬事情。
- 8. An Example, Take 2
• Context: 你是經營線上遊戲的業者。
• Problem: 線上遊戲的市場競爭非常激烈,玩
家的選擇很多,因此傳統需要先付費才可以
玩的遊戲模式,要玩家在尚未入迷之前就先
付費變得越來越困難。要如何讓玩家願意掏
錢出來玩線上遊戲呢?
• Solution: 以終生免費為噱頭,先讓玩家上癮,
再要求玩家每月付費,否則將關閉遊戲伺服
器。
- 9. An Example, Take 3
• Context: 你是經營線上遊戲的業者。
• Problem: 線上遊戲的市場競爭非常激烈,玩
家的選擇很多,因此傳統需要先付費才可以
玩的遊戲模式,要玩家在尚未入迷之前就先
付費變得越來越困難。要如何讓玩家願意掏
錢出來玩線上遊戲呢?
• Solution: 提供免費遊戲,先吸引玩家上癮,
再以販賣道具與周邊商品作為獲利來源。
- 10. An Example, Take 4
• Context: 線上遊戲的市場競爭非常激烈,玩
家的選擇很多,除非你是知名大廠,能推出
曠世巨作,否則以傳統先付費才可以玩的遊
戲模式,要玩家在尚未入迷之前就先付費變
得越來越困難。
• Problem: 要如何讓玩家願意掏錢出來玩線上
遊戲?
• Solution: 提供免費遊戲,先吸引玩家上癮,
再以販賣道具與周邊商品作為獲利來源。
- 11. 模式的六大基本元素
• Name : 模式名稱,增加開發者的設計字彙
• Context: 描述問題發生的地形地物(美容前)
• Problem: 描述問題本身
• Force: 問題的限制或特性
• Solution: 解決問題的方法
• Resulting Context (Consequence): 套用解決方
案之後的結果(美容後)
- 14. An Example, Take 5.1
• Context: 線上遊戲的市場競爭非常激烈,玩家的
選擇很多,除非你是知名大廠,能推出曠世巨作,
否則以傳統先付費才可以玩的遊戲模式,要玩家
在尚未入迷之前就先付費變得越來越困難。
• Problem: 要如何讓玩家在線上遊戲中付費?
• Forces:
– 安裝繁瑣或費時的遊戲將不易吸引玩家試玩,更談不
上收費的可能。
– 若玩家永遠只是付費,將減少他們持續玩同一款遊戲
的意願。
• Solution: 提供免費遊戲,先吸引玩家上癮,再以
販賣道具與周邊商品作為獲利來源。
- 15. An Example, Take 5.2
• Context: 線上遊戲的市場競爭非常激烈,玩家的選擇
很多,除非你是知名大廠,能推出曠世巨作,否則以
傳統先付費才可以玩的遊戲模式,要玩家在尚未入迷
之前就先付費變得越來越困難。
• Problem: 要如何讓玩家在線上遊戲中付費?
• Forces:
– 安裝繁瑣或費時的遊戲將不易吸引玩家試玩,更談不上
收費的可能。
– 若玩家永遠只是付費,將減少他們持續玩同一款遊戲的
意願。
• Solution: 提供快速、分段或免安裝的免費遊戲,先吸
引玩家上癮,再以販賣道具與周邊商品作為獲利來源。
在遊戲中提供網路商城,讓玩家可以買賣道具,以提
高遊戲的黏著度。
- 16. An Example, Take 5.3
• Context: 線上遊戲的市場競爭非常激烈,玩家的選擇
很多,除非你是知名大廠,能推出曠世巨作,否則以
傳統先付費才可以玩的遊戲模式,要玩家在尚未入迷
之前就先付費變得越來越困難。
• Problem: 要如何讓玩家持續在線上遊戲中付費?
• Forces:
– 安裝繁瑣或費時的遊戲將不易吸引玩家試玩,更談不上
收費的可能。
– 若玩家永遠只是付費,將減少他們持續玩同一款遊戲的
意願。
• Solution: 提供快速、分段或免安裝的免費遊戲,先
吸引玩家上癮,再以販賣道具與周邊商品作為獲利
來源。在遊戲提供網路商城,讓玩家可以買賣道具,
以提高遊戲的黏著度。
- 19. An Example, Take 6
• Context: 線上遊戲的市場競爭非常激烈,玩家的選擇很多,除非你
是知名大廠,能推出曠世巨作,否則以傳統先付費才可以玩的遊戲
模式,要玩家在尚未入迷之前就先付費變得越來越困難。
• Problem: 要如何讓玩家持續在線上遊戲中付費?
• Forces:
– 安裝繁瑣或費時的遊戲將不易吸引玩家試玩,更談不上收費的可能。
– 若玩家永遠只是付費,將減少他們持續玩同一款遊戲的意願。
• Solution: 提供快速、分段或免安裝的免費遊戲,先吸引玩家上癮,
再以販賣道具與周邊商品作為獲利來源。提供網路商城,讓玩家可
以買賣道具,以提高遊戲的黏著度。
• Resulting Context:
– 進入遊戲的門檻降低,較容易在短期間吸引大量玩家。
– 只要玩家中的一定比例付費購買道具便可達到損益平衡。
– 如果玩家對遊戲反應不佳,或是玩的人數很多但付費人數太少,經
營者可能會血本無歸。
- 20. 兩種命名方法
• 名詞片語 (Noun-phrase)
– 描述模式所建立或產生的結果
– 例子:Singleton, Command, Model-View-
Controller , 六英尺深的陽台, 入口的過度空間
• 動詞片語 (Verb-phrase)
– 給訂一個指令,描述如何達到模式解決方案所要
求的狀態
– 例子:Don’t Talk to Strangers, Separate Material
Preparation from Integration
- 25. 常見模式的種類
• Analysis Pattern
• Software Architecture Pattern
• Design Pattern
• Implementation Pattern
• HCI Pattern
• Process Pattern
可應用於各種不同的領域中
- 29. 快速回顧
• 什麼是 Pattern (模式)?
• 模式的六大基本元素。
• 以實例說明如何撰寫模式
• 單一模式的未來:從模式到模式語言
Q&A