May 23 23:13~11:48
這個月去某公司上Design Patterns企業內訓,由於上課人數多達50幾人,但上課時間只有14小時,所以Teddy把原本公開班的課程重新安排,以便在有限的時間內發揮最大的效用。
該公司員工素質很高,所以Teddy把重點放在介紹Alexander的pattern方法,再搭配少數幾個pattern作為例子,希望學員在理解Alexander的pattern方法之後,日後有能力可以看懂與活用各種其他類型的pattern,而不是僅限於GoF書中的那23個design patterns。
今天上課,在實作完Proxy pattern之後,我請學員作一個練習活動,回頭寫出Proxy pattern的problem,然後寫下solution,最後對solution問「為什麼」來找force。活動結束討論的時間,學員普遍反應:「我明明已經知道Proxy pattern,而且也會實作了,可是你要我用一句話寫出Proxy pattern解決什麼問題,還真不是很好回答。」有一位學員提到,在這個練習中,他學到一件事:「如果我連問題是什麼都說不出來,這樣我怎麼有辦法判斷套用的解法到底是否合適呢?」這個道理非常淺顯,但卻經常被人們忽略。
在討論到force的時候Teddy告訴學員:「沒有 force 就不會有 problem」,這句話講過好幾次了,但不知為什麼今天講這句話特別有感覺。
晉惠帝說:「何不食肉糜」,是因為他的世界不存在「短缺」這個 force,所以他無法感受到老百姓的問題。 大老闆說:「台北房價哪會太貴?」因為他的世界不存在「缺錢」這個 force。 你同事說:「為什麼一個class要有這麼多小method,還要浪費時間幫它們取名字?」那是因為他的世界不存在「可讀性」這個force。
要讓一個人改變觀念、行為,接受新的東西,首先要讓他觀察到force,才會發現問題。
***
要提高設計能力,看到問題背後的問題,活用各種pattern,歡迎參加:「Design Patterns這樣學就會了入門實作班」,7月23、24、30(五、六、日)上課。
入門班課程重點包含:
- 軟體設計與設計的產出物
- Pattern的六大元素(Context、Problem、Force、Solution、Resluting Context)
- 動手寫自己的Pattern
- 套用Pattern的流程
- 基礎物件導向觀念
- 10個常用GoF設計模式:包含State、Facade、Template Method、Factory Method、Abstract Factory、Observer、Command、Adapter、Strategy與Composite。
- 套用設計模式的原則,如何判斷套用的設計模式是否合適?
***
▼課程照片。
***
***
友藏內心獨白:學習看那看不到的東西。
沒有留言:
張貼留言