l

2014年9月29日 星期一

不是我不教,是你不肯學

Sep. 24 03:29~04:40

螢幕截圖 2014-09-24 03.36.22

Alexander的半隱蔽花園模式語言

 

有一次Teddy在某個場合介紹如何用Alexander的pattern方法來設計軟體架構,Teddy提到這是一個「整體先於部分,然後透過差異化的過程將整體逐步展開」的方法,並且舉了好幾個例子,包含:

例外處理設計

螢幕截圖 2014-09-24 03.44.27

 

容錯設計

螢幕截圖 2014-09-24 03.45.25

 

數位教材設計

螢幕截圖 2014-09-24 03.46.48

 

持續整合專案設計

螢幕截圖 2014-09-24 03.47.49

 

其中「數位教材設計」與「持續整合專案設計」這兩個「模式語言」(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年後絕情谷底再相逢挑眉質疑

***

友藏內心獨白:這是什麼情況(表演跌倒的動作中…)!

3 則留言: