設計模式1 建立型模式

2021-10-06 02:55:05 字數 1255 閱讀 5480

1.3 類圖

2. 設計模式

3. 建立型模式

主要4種:

從客戶角度描述功能,包括:

如新增、修改、刪除資料均需包含更新資料庫功能。

偶爾執行其它可選功能,如儲存成績後想列印出來。

主要元素:類、介面、關係。 關係 即4大關係。 類圖中也有包含和約束。

由類名、屬性和方法組成。加號public,減號private,井號protected。

比如,人擁有(實線指向)車,用小箭頭(->)。

更強的關聯關係,如汽車和引擎,引擎指向車,空心菱形在車一端。

如公司和部門,空心菱形改實心。

目前分類:gof的23種+簡單工廠模式 == 24種

可維護,可復用,目的是高內聚低耦合。

情景:不想new(繁瑣),而是直接用,且類很少。所以給工廠createobject傳參,返回需要的物件。

缺點:

為了符合產品族開閉原則,可以引入抽象工廠,每個具體工廠生產乙個類,如蘋果廠,香蕉廠。這叫做工廠方法模式,適用於客戶不需要知道所需物件的情況。

缺點:類會越來越多,不好維護。

工廠方法模式可以增加產品等級,抽象工廠模式則是針對產品族。

一般用於管理者物件。

步驟:建構函式私有

靜態私有類指標

靜態getinstance()

單例模式不用考慮釋放問題

// 懶漢式

class singleton_lazy

static singleton_lazy* getinstance()

return psingleton;

}private:

static singleton_lazy* psingleton;

};singleton_lazy* singleton_lazy::psingleton = null;

// 餓漢式

class singleton_hungry

static singleton_hungry* getinstance()

private:

static singleton_hungry* psingleton;

};singleton_hungry* singleton_hungry::psingleton = new singleton_hungry;

懶漢式遇到多執行緒是不安全的,可能多次new。所以要用餓漢式。

設計模式 建立型模式 原型模式

1 原型模式 prototype模式 是指 用原型例項指定建立物件的種類,並且通過拷貝這些原型,建立新的物件 2 原型模式是一種建立型設計模式,允許乙個物件再建立另外乙個可定製的物件,無需知道如何建立的細節 3 工作原理是 通過將乙個原型物件傳給那個要發動建立的物件,這個要發動建立的物件通過請求原型...

設計模式 建立型模式

建立型模式 與物件的建立有關。1 簡單工廠模式 靜態工廠 簡單工廠關聯具體類,通過簡單工廠來建立具體的類。封裝變化到簡單工廠裡面去。工廠類 具體類 2 工廠模式 抽象工廠 具體工廠 具體類 要是新增新的類,只需要擴充套件就可以了。他們對外的行為是一致的。3 抽象工廠 抽象工廠 具體工廠 具體類 具體...

設計模式 建立型模式

建立型模式 工廠方法 核心 客戶端呼叫具體的工廠,讓工廠去決定例項化哪個具體的類。核心 為工廠類建立對應的具體的類,表現為和對應的具體類的依賴關係。抽象工廠類 inte ce productfactory 具體a工廠 class concreteproductfactorya productfact...