Sep. 24 03:29~04:40
Alexander的半隱蔽花園模式語言
有一次Teddy在某個場合介紹如何用Alexander的pattern方法來設計軟體架構,Teddy提到這是一個「整體先於部分,然後透過差異化的過程將整體逐步展開」的方法,並且舉了好幾個例子,包含:
例外處理設計
容錯設計
數位教材設計
持續整合專案設計
其中「數位教材設計」與「持續整合專案設計」這兩個「模式語言」(pattern language)是Teddy與指導教授所找尋出來的模式,並套用Alexander的方式將這些模式組織成一個體系。這兩組pattern分別在PLoP 2004與Asian PLoP 2011在美國與日本發表過(證明Teddy花了很多時間持續研究pattern),所以絕對不是Teddy自己隨便唬爛亂說的。
***
在演講的過程中Teddy提到:「套用Alexander的方法做設計需要先找到第一個pattern,然後一次套用一個pattern將整個設計逐步展開。」演講結束後有一位鄉民跑來問問題。
鄉民:要怎麼找到第一個pattern?
Teddy:Alexander的方法稱為pattern language,是一種pattern-based或是說pattern-oriented的方法。你必須先學會一定數量的pattern,就好像學英文要先有足夠的字彙量,才有能力造句寫文章或是看懂英文文件。
鄉民:這樣喔,可是我只是想知道要怎麼找到第一個pattern就好了啊…
Teddy:以軟體設計為例,你必須知道足夠多的architecture patterns與design patterns,在做設計的時候才有「設計單字」可以使用。市面上有很多這方面的書,例如POSA(Pattern-Oriented Software Architecture)系列、Martin Fowler的《Patterns of Enterprise Application Architecture》以及最基本的GoF的《Design Patterns》。
鄉民:可是我只是想知道要怎麼找到第一個pattern就好了啊…
Teddy內心獨白:你現在是跳針嗎?
Teddy:如果你對這個方法有興趣,可以來上我的「Design Patterns這樣學就會了–入門實作班」,在第一天的課程中我會介紹Alexander的pattern方法,以及讓學員動手自己整理一個pattern。
鄉民:可是我下個月要出國旅遊,短時間不想花錢上課…
Teddy:那你可以自己找Alexander的《The Timeless Way of Building》這本書來看。
鄉民:可是我只是想知道要怎麼找到第一個pattern就好了啊,難道你不能直接告訴我答案嗎?
Teddy內心獨白:老師在講你有在聽嗎?剛剛已經告訴你方法了啊。
Teddy:這位施主,場地等一下還有人要使用,我要先收電腦了…
***
天底下有沒有哪種不花錢、不花時間、不花腦筋、不費工夫,只要隨口一問就可以獲得的知識與智慧?也許有,不過Teddy還沒修練到那樣的地步,無法提供速食答案。請容許Teddy繼續修練,如果有緣18年後絕情谷底再相逢。
***
友藏內心獨白:這是什麼情況(表演跌倒的動作中…)!
某黑色布單位派來上課的....(誤)
回覆刪除台灣的教育奇蹟
回覆刪除看不懂箭頭指向的關聯性@@
回覆刪除