設計模式(二) 構造者模式彙總

2021-10-04 06:37:44 字數 1407 閱讀 5502

簡單工廠模式結構圖:

簡單工廠模式包括這幾個角色:

prouduct(抽象產品):所有具體產品的基類,符合依賴反轉原則

concreteproduct(具體產品)

factory(產品工廠):對外提供產品的入口

工廠方法模式結構如圖:

包括如下角色:

product(抽象產品)

concreateproduct(具體產品)

factory(抽象公廠)

concreatefactory(具體工廠):每乙個具體工廠對應乙個具體產品

工廠方法旨在改進簡單工廠的不便於拓展,但也同時使類大大增加,增加了系統的複雜度。

抽象工廠模式結構如圖:

包括如下角色:

product(抽象產品)

concreateproduct(具體產品)

factory(抽象公廠)

concreatefactory(具體工廠):每乙個具體工廠對應乙個產品族

抽象工廠模式綜合了簡單工廠與工廠方法模式。相對於簡單工廠的難以拓展,繼承了工廠方法的多工廠思想,同時針對工廠方法的類複雜,糅合了簡單工廠的單工廠多產品思想,乙個具體工廠可以生產乙個產品族。

建造者模式相對於前面的幾個側重於建立,更側重於整合。

建造者模式適用於構建乙個複雜物件。

建造者模式結構圖如下:

包括如下角色:

builder(抽象建造者)

concreatebuilder(具體建造者)

product(複雜產品)

director(指揮者類):負責安排複雜物件的構造次序,指揮者與抽象構造者之間存在關聯關係,可以在其construct()建造方法中呼叫建造者物件的部件構造與裝配方法,完成複雜物件的構造。

原型模式定義:通過複製原型物件建立與之相同的物件。

c++中的物件拷貝建構函式就是原型模式思想。

單例模式定義:單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。單例模式要點有三:1.單例類只能有乙個例項。

2.它必須自行建立這個例項 3.它必須自行向整個系統提供這個例項。

單例模式結構圖如圖:

單例模式有餓漢式單例以及懶漢式單例,上述結構圖為懶漢式單例。餓漢式單例是靜態成員物件在初始化時即建立好。

設計模式 構造者模式

原始碼 from 萬方資料 朱進 構造者模式使用場景 include define buide c define finished 1 define unfinished 0 typedef struct splane plane typedef struct sconcretebuild conc...

設計模式 二 建造者模式

參考 意圖 將乙個複雜的構建與其表示相分離,使得同樣的構建過程可以建立不同的表示。主要解決 主要解決在軟體系統中,有時候面臨著 乙個複雜物件 的建立工作,其通常由各個部分的子物件用一定的演算法構成 由於需求的變化,這個複雜物件的各個部分經常面臨著劇烈的變化,但是將它們組合在一起的演算法卻相對穩定。何...

構造者模式

構造者模式是指乙個由多個簡單的物件一起構造為乙個複雜的物件,使得在物件的建立時可以由乙個相同的流程創造出多個不同的物件進行使用 以汽車為例 暫時將汽車的組成分為 鋼材 發動機 玻璃和座椅 當我們構建不同品牌的汽車時只需要輸入該汽車的組成部分的相關標識即可完成對該品牌汽車的組裝 同時也也可以獲取多個汽...