l

2013年5月13日 星期一

又想起Pattern Language

May 12 21:40~23:55

螢幕快照 2013-05-12 下午10.39.43

 

最近花了一些時間在準備今年7月6~7日的「例外處理設計與重構實作班」課程教材,這個課程內容剛好是Teddy的「法定專長」(博士論文題目),於是Teddy把以前念書的時候所製作的投影片找出來,看看有沒有什麼內容可以拿來當作課程教材。

找著、找著,Teddy突然看到下面這張連自己都快忘記的投影片:「The disciplined error handling pattern language」,其中Simple Try Block As Insurance這個pattern所描述的解法,就是Teddy前幾天在《讀Clean Code有感:例外處理程式重構篇》裡面所提到的「One method, one try statement. (一個method裡面只能有一個try敘述)」。

螢幕快照 2013-05-12 下午10.52.52

***

上面這張圖又喚起了Teddy對於Christopher Alexander在《The Timeless Way of Building》這本書中所提出的pattern與pattern language方法的懷念(請參考《Pattern Languages and Patterns》、《Scrum框架下的跨界開發(8):寫到這邊突然想到Pattern Languages》、《六折出清》、《還少一本書: The Timeless Way of Building》)。《The Timeless Way of Building》這本書,Teddy在部落格中已經提過好幾次了,雖然從書名上看起來這本書和軟體開發一點關係都沒有,但Teddy覺得這本書影響了很多敏捷開發大師們的想法。讀了這本書之後,除了可以從根本上理解為什麼很多敏捷開發的精神與實務做法會演變成今日的模樣,還可以學習使用「pattern language(模式語言)」來作為分析複雜問題的工具。這整個學習過程有點門檻,因此Teddy推薦了好多人去讀這本書,到目前為止好像還沒有任何一個人有讀出什麼心得出來的。唯一的心得可能就是:看不懂挑眉質疑

***

幾個禮拜前Teddy在北科大兼任「軟體生命週期管理」課程的助教,在上課時介紹了《Designing Mobile Interfaces》這本書中的一些pattern。這本書羅列了設計行動裝置介面的許多模式,讓初學者可以藉由學習這些模式,來進入行動裝置介面設計的領域。這類的書,就好像GoF的Design Patterns這本書一樣,整理出這些模式本身就是一件相當不容易的工作很棒。但學會個別單一模式之後,真正難的問題還在後面:我要怎麼用這些單一模式,解決一個較大(複雜)的問題?這時候,如果有受過pattern language的訓練,就比較能夠用更「高一點」的角度來看待這些個別的模式的使用。

***

以上內容,有點抽象,看不懂,此為正常現象,單純是Teddy寫來自hi之用不要告訴別人

***

友藏內心獨白:大雨、大雨一直下。

沒有留言:

張貼留言