Can you summarize the following document?
        
  建築師克里斯托佛·亞歷山大在1977/79年編制了一本彙集設計模式的書,但是這種設計模式的思想在建築設計領域裡的影響遠沒有後來在軟體開發領域裡傳播的廣泛。  肯特·貝克和沃德·坎寧安在1987年,利用克里斯托佛·亞歷山大在建築設計領域裡的思想開發了"設計模式"並把此思想應用在Smalltalk中的圖形使用者介面(GUI)的生成中。一年後埃裡希·伽瑪在他的蘇黎世大學博士畢業論文中開始嘗試把這種思想改寫為適用於軟體開發。與此同時James Coplien 在1989年至1991年也在利用相同的思想致力於C++的開發,而後於1991年發表了他的著作"Advanced C++ Programming Styles and Idioms"。同年Erich Gamma 得到了博士學位,然後去了美國,在那與Richard Helm, Ralph Johnson,John Vlissides 合作出版了《設計模式:可複用物件導向軟體的基礎》(英語:Design Patterns - Elements of Reusable Object-Oriented Software) 一書,在此書中共收錄了 23 種設計模式。  這四位作者在軟體開發領域裡以“四人幫”(英語,Gang of Four,簡稱GoF)而聞名,並且他們在此書中的協作導致了軟體設計模式的突破。有時,GoF也會用於代指《設計模式》這本書。

  表述一個軟體設計模式的格式根據作者的不同,劃分和名稱等都會有所不同。常用的GoF描述模式的格式大致分為以下這些部分:

  《設計模式》一書原先把設計模式分為建立型模式、結構型模式、行為型模式,把它們通過授權、聚合、診斷的概念來描述。若想更進一步瞭解關於物件導向設計的背景,參考介面模式、內聚性。若想更進一步瞭解關於物件導向程式設計的背景,參考繼承,介面,多型。
在軟體工程中,設計模式(英語:design pattern)是對軟體設計中普遍存在(反覆出現)的各種問題,所提出的解決方案。這個術語是由埃裡希·伽瑪(Erich Gamma)等人在1990年代從建築設計領域引入到電腦科學的。