l

2015年5月8日 星期五

[工商服務] 六、七月份Design Patterns這樣學就會了入門與進階實作班

May 08 09:09~10:10

螢幕截圖 2015-05-08 09.16.22

 


接觸pattern超過18年,在2次PLoP研討會發表pattern論文,自己整理過30幾個pattern,Design Patterns(設計模式)這門課也教了快20次。有學員問Teddy,GoF的23個設計模式哪一個最重要?Teddy覺得,都重要,也都不重要。

說重要,因為一但知道這23個設計模式,等待時機成熟,這些模式就有機會可以報恩,協助你解決設計問題。說不重要,因為模式數量太多,何止數千。從量的角度來看,GoF的23個設計模式全部加起來也不到1%。

很多成熟的技術,包含軟體架構、軟體設計、軟體測試、建構管理、持續整合、人機介面、行動裝置設計、用戶體驗、組織變革,甚至是敏捷開發方法與Scrum等,都有人將這些知識整理成pattern。這麼多本不同領域的「九陰真經」躺在那邊等待鄉民們去練功,如果只是因為看不懂「梵文」(不熟悉pattern)就失去成為武林高手的機會,那就太可惜了。一但理解pattern的內涵,要吸收這些不同領域的pattern便可達事半功倍的效果。

什麼是pattern的內涵?就是pattern的始祖建築師Alexander的模式方法,從context、problem、force、solution、resulting context等基本元素開始,自己練習整理出一個模式。具備這樣的能力之後,日後不管看到何種模式,或是遇到軟體與介面設計的問題,都可以套用Alexander的模式方法來分析問題,也比較容易知道如何從多個模式中選擇適合的模式。

螢幕截圖 2015-05-08 10.09.57

***

了解pattern,還可以養成從「制高點」看問題的能力。敏捷與精實開發社群的人都知道,要落實一項改善活動,不能只看某一點(區域最佳化),而是要觀照全局,做到整個價值鏈(value-chain)或工作流程的最佳化。如果你站在西門町紅樓樓頂,你只看的到附近的街景。站在101大樓的觀景台,可以看到大台北地區的街景。嘗試去看到問題的全貌,會讓你成為一位更好的工程師。

2015年第二梯次「Design Patterns這樣學就會了:入門實作班」與「Design Patterns這樣學就會了:進階實作班」分別將在6月7、13、14號(日、六、日)與7月4、5、11號(六、日、六)舉辦,歡迎鄉民們一起體驗pattern的力量。

螢幕截圖 2015-02-01 23.36.02

***

學會Design Pattern,有以下幾個好處:

  • 找工作很有用許多軟體開發的職缺,尤其是薪水比較高的職缺,都會列上「熟悉設計模式」這一點。就算沒有列出來,在口試的時候,也經常會被問到。把GoF的23個設計模式都學會,相信找工作的時候,鄉民們會比面試官懂得還多。
  • 自己設計軟體的時候可以用,設計出比較容易擴充與維護的軟體。
  • 比較容易看懂與學會如何使用別人開發的元件或類別庫(例如JDK、.NET或是許多開源軟體,都套用了很多Design Pattern)。
  • 成為軟體架構師的先修訓練。每一個Design Pattern都可算是一個迷你版的軟體架構,而許多軟體架構本身也是一種pattern(architecture pattern,架構模式)。學會Design Pattern可以奠定日後成為軟體架構師的基礎。
  • 不要被同事或屬下欺騙這算什麼好處?曾經有一位專案經理來上Design Pattern的課,他已經不需要自己動手寫程式,他來上課的理由,是希望能夠對於Design Pattern有一定的了解,日後對於程式設計師所訂出來的開發時程,或是和程式設計師溝通軟體開發問題的時候,可以不要差距太遠,或是因為完全不懂而被程式設計師牽著鼻子走。或者,有時候你的同事或是下屬會跟你「唬爛」,說他套用了多少個pattern,有多麼厲害、多麼偉大。如果完全都不懂,很容易被蒙騙過去。
  • 升官發財,考試考100分。

***

報名網址再貼一次:

***

友藏內心獨白:Pattern和你知道的不一樣。

2 則留言: