- 回顧活動引導:24個反模式與重構實踐
- (荷)艾諾·凡戈·科里
- 722字
- 2023-09-08 20:23:03
什么是模式
所謂模式,是對經常重復出現的問題進行抽象之后所得到的解決方案;是一種以文學形式來傳播經驗的手段;是對設計、編碼或其他所有領域解決方案的另一種描述詞匯。模式是一種方法,用來描述事情在組織中是如何進行的。它包含了對背景以及定義需要解決問題的影響力的描述、模式解決方案以及應用模式的成效和結果。一個模式通常會涉及到其他模式,因為在另一個模式中找到的解決方案可能會對這一模式的結果有所幫助。

模式的要素
模式的概念是由建筑設計師克里斯托弗·亞歷山大(Christopher Alexander)與其合著者在《建筑模式語言:城鎮、建筑、構造》(1977)中提出的。僅僅十多年后,肯特·貝克(Kent Beck)在Smalltalk報告中的文章“模式語言簡介”里介紹了模式在軟件中的應用,并將重點放在了交流上。兩年后,這個概念因為《設計模式:可復用面向對象軟件的基礎》(Gamma et al.1995)一書而流行起來,這本書現在被稱為“GoF”,因為其四位作者被業內統稱為“四人組”。
在使用模式時,比如觀察者模式、組合模式和策略模式(Gamma et al.1995),我們只需參考模式的名稱而不必從頭開始解釋某個設計或概念,這一點是很有用的。模式之所以有效,是因為大腦處理認知模式和認知自動化的方式。當學習某件事情時,這些新知識的細節會“粘合”在我們的長期記憶中,形成一種認知模式。認知自動化或者說如何對這種模式作出反應,也和認知模式一起被灌輸進了大腦中,幫助我們認識到這是一種自己已經學會如何行動的情況,從而做出應對。我的前任經理邁克爾·卡珀森(Michael Caspersen)幾乎教會了我關于學習的所有知識,他的博士論文(Caspersen 2007)中包含許多關于大腦的認知模式和認知自動化的例子和參考。
我的博士論文(Cornils 2001)(1)聚焦于軟件模式,而且我注意到,我總是能在各種事物中發現模式,這種能力在我們人類中其實并不罕見。