l

2016年11月16日 星期三

Pattern格式介紹(3):PLoP與Meszaros格式

Nov. 16 10:06~11:05

屏幕截图 2016-11-16 11.03.24

 

格式

第三種常見的格式在《The Patterns Handbook》書中稱之為「PLoP and Meszaros」格式,這個格式在第一屆Pattern Langauge of Program Design研討會中開始被使用,然後經過Gerard Meszaros的整理與說明之後成型。

  1. Pattern Name(名稱):模式名稱,通常是名詞。
  2. Context(情境):問題的限制(問題發生在何種狀況之下),通常透過一個狀況來敘述而非直白的說出來。
  3. Problem(問題):模式所要解決的特定問題。
  4. Forces(作用力):當選擇一個解決方案的時候會遭遇到通常是互相衝突的限制,例如希望找到錢多、事少、離家近的工作,這三個作用力通常是互相衝突。可以透過解法處理作用力的方式來評估一個解法是否合適。
  5. Solution(解法):針對問題的解法。一個問題可能存在多個解法,模式所提出的解法是否合適取決於問題所存在的應用情境(Context)。

這個格式保留了〈Alexander格式〉的核心元素,而且特別把Forces這個重要的元素單獨列成一個項目,對於學習模式的人比較輕鬆,不必自己到一長串的問題詳細敘述中去尋找Forces。

  ***

例子

接下來看一個《Pattern Languages of Program Design 3》書中的例子:Visible Forces模式。

▼Pattern Name、Problem、Context、Forces、Solution(1、2、3、4、5),還多了一個Examples。

屏幕截图 2016-11-16 10.52.26

 

「PLoP and Meszaros」格式有一些變型,除了那五個格式之外,有時會出現:

  • Rational:輔助說明Solution(告訴讀者Why,為什麼會產生這樣的解法)。
  • Resulting Context:套用模式之後原本的結果,原來的Context變成什麼樣子。相當於GoF格式的Consequences。
  • Examples:使用該模式的例子,相當於GoF格式的Known Uses。

***

友藏內心獨白:加上Resulting Context就是Teddy平常介紹的Pattern的六大元素。

沒有留言:

張貼留言