Feb. 07 09:40~10:40
***
先打個廣告,Design Patterns確定開課,課程招生中,以下為課程簡介與報名網址:
- 第六梯次Design Patterns這樣學就會了:入門實作班,3月8、9、15(六、日、六)。
- 第二梯次Design Patterns這樣學就會了:進階實作班,3月22、23、29(六、日、六)。
***
GoF的《Design Patterns: Elements of Reusable Object-Oriented Software》出版至今即將屆滿20年,2月20日的C. C. Agile剛好輪到Teddy分享,前兩天突然想到乾脆分享:「那一夜我們說Pattern: Design Patterns 20周年紀念」這個題目好了。
上網找了資料,整理了Alexander幾本重要書籍到GoF的書出版的這一段時間內(1979~1994),軟體領域套用pattern的幾個重大事件(詳細資料可參考「History Of Patterns」)。
不少鄉民可能以為GoF是第一批將Alexander的pattern應用在軟體設計上的人,其實並不是。首先套用pattern的,是:Kent Beck和Ward Cunningham。1987年,兩人發表了一篇文章「Using Pattern Language for Object-Oriented Programs」,當年他們提出五個用在Smalltalk上面設計GUI的pattern:
- Window Per Task
- Few Panes Per Window
- Standard Panes
- Short Menus
- Nouns and Verbs
***
至於第一本軟體pattern的書,也不是GoF的《Design Patterns》,而是Jim Coplien所寫的《Advanced C++ Programming Styles and Idioms》,1991年出版,比《Design Patterns》早了3年。
1994年發生了兩件重要的事,第一就是GoF的《Design Patterns》出版,這本書當年在OOPSLA研討會(全世界最頂級的物件導向研討會)上賣了超過750本,是Addison-Wesley出版社有史以來在該研討會上賣出最多的一本書。
第二件事就是第一屆PLoP研討會在美國伊利諾州舉辦,這個PLoP研討會,是pattern領域最知名的研討會,很多有名的pattern都會到這個研討會或是世界各地的其他「姐妹會」(例如歐陸PLoP、北歐PLoP、南美洲PLoP、還有近幾年在日本舉辦的亞洲PLoP)發表。
***
除了簡單介紹一下pattern的「歷史」,Teddy還會談一下Alexander的《The Timeless Way of Building》這本書到底在講些什麼,為什麼讀了這本書可以幫助「練武之人」打通任督二脈,成為軟體架構、設計模式、敏捷開發(XP、Scrum)、例外處理(疑 !)大師 XD。
***
友藏內心獨白:做軟體也要學歷史。
Design Pattern真的有那麼神?看到這邊文章,有時候也得反思。
回覆刪除https://medium.com/fcamels-notes/%E8%A8%AD%E8%A8%88%E6%A8%A1%E5%BC%8F%E5%85%B6%E5%AF%A6%E6%98%AF%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80%E7%9A%84%E7%BC%BA%E9%99%B7-ee45364783cf