設計模式的兩種分類依據

2021-10-25 08:18:39 字數 771 閱讀 3906

設計模式有兩種分類方法,即根據模式的目的來分和根據模式的作用的範圍來分。

1. 根據目的來分

根據模式是用來完成什麼工作來劃分,這種方式可分為建立型模式、結構型模式和行為型模式 3 種。

建立型模式:用於描述「怎樣建立物件」,它的主要特點是「將物件的建立與使用分離」。gof 中提供了單例、原型、工廠方法、抽象工廠、建造者等 5 種建立型模式。

結構型模式:用於描述如何將類或物件按某種布局組成更大的結構,gof 中提供了**、介面卡、橋接、裝飾、外觀、享元、組合等 7 種結構型模式。

行為型模式:用於描述類或物件之間怎樣相互協作共同完成單個物件都無法單獨完成的任務,以及怎樣分配職責。gof 中提供了模板方法、策略、命令、職責鏈、狀態、觀察者、中介者、迭代器、訪問者、備忘錄、直譯器等 11 種行為型模式。

2. 根據作用範圍來分

根據模式是主要用於類上還是主要用於物件上來分,這種方式可分為類模式和物件模式兩種。

類模式:用於處理類與子類之間的關係,這些關係通過繼承來建立,是靜態的,在編譯時刻便確定下來了。gof中的工廠方法、(類)介面卡、模板方法、直譯器屬於該模式。

物件模式:用於處理物件之間的關係,這些關係可以通過組合或聚合來實現,在執行時刻是可以變化的,更具動態性。gof 中除了以上 4 種,其他的都是物件模式。

兩種單例設計模式

設計模式是在大量的實踐中總結和理論化之後優選的 結構 程式設計風格 以及解決問題的思考方式。設計模式就像是經典的棋譜,不同的棋局,我們用不同的棋譜,免去我們自己再思考和摸索。所謂類的單例設計模式,就是採取一定的方法保證在整個的軟體系統中,對某個類只能存在乙個物件例項,並且該類只提供乙個取得其物件例項...

兩種設計模式 1 「簡單工廠」

我們以做乙個計算器為例,給大家介紹簡單工廠的應用 效果 這裡我們使用 繼承 虛方法,簡單工廠的設計模式來完成 首先,我們除了搭好窗體外,我們應該把我們的一些類準備好 1.計算的父類calculation using system using system.collections.generic us...

單例設計模式的兩種情況

單例設計模式。餓漢式。class singledemo public static singledemo getsingledemoinstance 延遲載入的單例設計模式例項 懶漢式 特點 用於例項的延遲載入 缺點 多執行緒訪問時,會出現安全問題.解決方式 用同步 塊或同步方法,不過效率低.用雙重...