對於建立型設計模式理解

2021-09-24 00:21:19 字數 1414 閱讀 7832

建立型模式關注物件的建立過程

建立型模式描述如何將物件的建立和使用分離,讓開發人員在使用物件時無需關心物件的建立細節,從而降低系統的耦合度

軟體在執行時類將例項化成物件,並有這些物件來協作完成各項業務功能

建立型模式對類的例項化過程進行了抽象,能夠將軟體模組中物件的建立和物件的使用分離,對開發人員隱藏了類的例項的建立細節

每乙個建立型模式都通過採用不同的解決方案來回答三個問題,即建立什麼(what),由誰建立(who)和合適建立(when)

模式名稱

定義簡單工廠模式

(****** factory pattern)

定義乙個工廠類,他可以根據引數的不同返回不同類的例項,被建立的例項通常都具有相同的父類

工廠方法模式

(factory method pattern)

定義乙個用於建立物件的介面,但是讓子類決定將哪乙個類例項化,工廠方法模式讓乙個類的例項化延遲到其子類

抽象模式方法

(abstract factory pattern)

提供乙個建立一系列相關或相互依賴物件的介面,而無需制定他們具體的類

建造者模式

(builder pattern)

將乙個複雜物件的構件與它的表示分離,使得同樣的構建過程可以建立不同的表示

原型模式

(prototype pattern)

使用原型例項制定待建立物件的型別,並且通過賦值這個原型來建立新的物件

單例模式

(singleton pattern)

確保乙個類只有乙個例項,並提供乙個全域性訪問點來訪問這個唯一例項

建立型的建立與使用指的是針對這個物件的建立方法以及使用邏輯,使用邏輯指的是,針對物件屬性/方法的使用(判斷屬性值為什麼就做出怎麼樣的處理)

建立型模式對外部掩蓋了建立物件的過程。此處的外部指的是使用這個類的人(開發人員)不需要開發人員理解內部需要滿足什麼樣的條件全靠建立方法提供,並且根據設計原則提供強大的擴充套件方式

建立型模式在軟體執行中起作用

生活中最接近這種建立型設計模式的例子:購買火車票(建立一張屬於我們自己火車票例項)

如路線(流程)圖:

現有兩輛高鐵 【g001】與【g002】 始發站分別為【a–>f】和【a–>e】

我現在需要購買(建立)一張從【a站點】到【d站點】的火車票

首先在購買過程中,

在上述的過程中,建立一張【a站點】到【d站點】的車票分別進行了檢查資源、路段切割的動作,而作為使用方的我來說,我不需要知道內部如何運作,我只關心我得到的是不是【a站點】到【d站點】的車票就可以了,建立型模式就是為了處理這些複雜而又必須的邏輯而將動作整合進建立方法中。

建立型設計模式

建立型設計模式對類的建立例項化過程進行抽象,將物件的建立和物件的使用分離。簡單工廠模式 使用頻率4星 工廠方法模式 使用頻率5星 抽象工廠模式 使用頻率5星 建造者模式 使用頻率2星 原型模式 使用頻率3星 單例模式 使用頻率4星 toc 簡單工廠模式將物件建立和物件使用相分離,降低了系統耦合度。優...

建立型設計模式

設計模式分為總的來說分為三大類 建立型模式 五種,工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式 結構型模式 七種,介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式 行為模式 十一種,策略模式 模板方法模式 觀察者模式 迭代子模式 責任鏈模式 命令模式 備忘錄模式 狀...

建立型 設計模式

單例 單例項,自我例項化,提供全域性訪問點 工廠 不同型別例項由不同工廠建立,當然也有通過乙個靜態方法建立一種例項或通過傳入引數決定生產的例項 這兩種很明顯不方便擴充套件,需修改 抽象工廠 考慮物件有不同維度 如車有型別和顏色 那麼工廠負責產生一類產品 如工廠產生紅車,白車,黑車 那麼型別上可以通過...