GoF 的 23 種設計模式有兩種分類方法,即根據模式的目的來分和根據模式的作用的范圍來分,
1. 根據目的來分
根據模式是用來完成什么作業來劃分,這種方式可分為創建型模式、結構型模式和行為型模式這 3 種,
- 創建型模式:用于描述“怎樣創建物件”,它的主要特點是“將物件的創建與使用分離”,提供了單例、原型、工廠方法、抽象工廠、建造者等 5 種創建型模式,
- 結構型模式:用于描述如何將類或物件按某種布局組成更大的結構,提供了代理、配接器、橋接、裝飾、外觀、享元、組合等 7 種結構型模式,
- 行為型模式:用于描述類或物件之間怎樣相互協作共同完成單個物件都無法單獨完成的任務,以及怎樣分配職責,提供了模板方法、策略、命令、職責鏈、狀態、觀察者、中介者、迭代器、訪問者、備忘錄、解釋器等 11 種行為型模式,
2. 根據作用范圍來分
根據模式是主要用于類上還是主要用于物件上來分,這種方式可分為類模式和物件模式兩種,
- 類模式:用于處理類與子類之間的關系,這些關系通過繼承來建立,是靜態的,在編譯時刻便確定下來了,工廠方法、(類)配接器、模板方法、解釋器屬于該模式,
- 物件模式:用于處理物件之間的關系,這些關系可以通過組合或聚合來實作,在運行時刻是可以變化的,更具動態性,除了以上 4 種,其他的都是物件模式,
3.圖解

注解:
GOF:《Design Patterns: Elements of Reusable Object-Oriented Software》(《設計模式》一書),由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著(Addison-Wesley,1995),這幾位作者常被稱為"四人組(Gang of Four)",
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/8585.html
標籤:設計模式
下一篇:設計模式之單例模式
