l

2014年2月10日 星期一

Design Patterns 20周年紀念

Feb. 07 09:40~10:40

螢幕快照 2014-02-07 上午9.48.41

***

先打個廣告,Design Patterns確定開課,課程招生中,以下為課程簡介與報名網址:

***

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」)。

螢幕快照 2014-02-07 上午9.56.28

不少鄉民可能以為GoF是第一批將Alexander的pattern應用在軟體設計上的人,其實並不是。首先套用pattern的,是:Kent BeckWard 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

螢幕快照 2014-02-07 上午10.26.55

***

友藏內心獨白:做軟體也要學歷史。

1 則留言:

  1. 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

    回覆刪除