????一刀切的規(guī)則往往是不公平的,而人們對模式卻更加一刀切。模式的領域、內(nèi)容、范圍、形式、質(zhì)量……這個領域大得嚇人,只需要隨手翻翻PLoP 的書[CS95, MRB98, VCK96]就能看出。不同的人寫出不同的模式,而模式的變化甚至比作者還要多。象Alistair Cockburn、Jim Coplien、Neil Harrison 和Ralph Johnson 這樣的作者已經(jīng)超越了最初大量記錄不同領域、不同形式模式的階段。只看幾個例子就對模式做一個籠統(tǒng)的結(jié)論,這樣的結(jié)論必定是錯誤的。
????和大多數(shù)的誤解一樣,這個誤解也是有原因的。看看人們用來描述模式的格式,有兩種基本的風格:描述高層結(jié)構的GoF風格(用于《設計模式》中);接近文學的Christopher Alexander 風格??敘述性的,盡量少的結(jié)構圖。由于已經(jīng)用模式描述了面向?qū)ο笤O計之外的東西,所以我現(xiàn)在熟悉到GoF風格造成的偏差。對于我研究過的某些領域的專家經(jīng)驗,這種風格根本無法描述。為什么結(jié)構圖看上去總是讓人聯(lián)想到C++?對于音樂作曲的模式,“實現(xiàn)”應該是什么?“協(xié)作”部分真的有意義嗎?
????這種觀點曾經(jīng)有一定的說服力,但是現(xiàn)在已經(jīng)沒有了。在Software-PRactice and EXPerience[Kotula96]這樣的雜志上、在OOPSLA[HJE95, Schmid95]和ICSE[BCC+96]這樣的會議上,人們不斷的報告自己從模式得到的利益。Doug Schmidt已經(jīng)清楚的說明了在傳授計算機科學時使用模式的收益[PD96]。盡管絕大多數(shù)的證據(jù)都只是定性的,但是據(jù)我所知,至少有一個組織得到了一些定量的結(jié)論[Prechelt97,PUS97]。