l

2016年12月16日 星期五

何不動手寫Pattern?

Dec. 16 00:12~01:04

屏幕截图 2016-12-16 00.53.28

▲撒嬌的貓是趕不走的(冬季限定)

 

前陣子有一位人機介面(HCI)的設計師朋友因故需要將他在HCI領域的知識整理成pattern,並且希望找出「為什麼設計師不容易套用UI/HCI pattern的原因」,幫助設計師減低套用pattern的門檻。

這位朋友是pattern新手,想請Teddy幫忙看一下他整理的pattern並且給點修改的建議。雖然幫人家看pattern是一件耗時又耗腦的事情,但說到底這是自己的興趣,而且說真的在台灣難得有人願意將知識整理成pattern,打著LED燈籠都找不到,值得鼓勵,欣然答案。

讀完對方第一版的稿件Teddy覺得可以改進的地方還不少,回信給了一些建議。原以為對方會因此被「嚇跑」,放棄整理的工作或直接跳過Teddy所給的建議。沒想到幾天後對方寄來修改後的版本,雖然這個版本離Teddy心目中合格的pattern還有一大段距離,但是可以感受到對方認真修改的企圖心。雖然這是無償的幫忙,但對方有持續改善的進度這一點很重要,因為至少讓自己覺得投注的時間沒有白費。

第二次又寫了一堆建議給對方(沒錯,Teddy就是很「雜念」的一個人XD),幾天後對方和Teddy約了時間當面討論。後來花了約3個小時當面跟對方解釋pattern六大元素、pattern langauge的概念、如何用pattern解決複雜的問題,以及他所撰寫的pattern有哪些很明顯可以改善的地方。雖然對方是pattern新手,但畢竟是設計領域專家,似乎有聽懂Teddy講的一堆東西。

***

Teddy在上「Design Patterns這樣學就會了–入門實作班」的第一天,也會詳細解釋pattern六大元素,以及讓學員做一個簡單的pattern寫做練習。這麼多次課程下來,也教了好幾百未學員,有些學員覺得很有用,可以用context、problem、force、solution、resulting context來分析各種問題,對於理GoF 解設計模式(GoF design pattern)也很有幫助。但也有學員反應pattern六大元素過於抽象,對於解決他手邊專案的問題好像沒有立即的幫助。

曾經有一次Teddy和一位客戶聊天,Teddy建議他們可以考慮將他們的domain know-how(領域知識)整理成pattern language(簡單講就是一組相關聯的pattern),這樣可以有助於團隊成員之間的溝通,以及幫助他們的軟體專案與產品建立一個共通的領域模型。套用DDD(Domain-Driven Design)的術語,就是建立通用語言(Ubiquitous Language)。聽完之後客戶當下告訴Teddy:「這太抽象了啦,不知道要怎麼執行啊。」

***

很多事情,只有一個人懂,除了自嗨以外是沒什麼鳥用的。真正要發揮影響力,還是需要有人願意買單。很多事情,乍看之下很抽象,但實際上確是非常的具體。只不過這個具體,因為緣分未到還無法體會。

***

友藏內心獨白:緣分很重要。

沒有留言:

張貼留言