Gof23種設計模式 簡單工廠設計模式總結(二)

2021-08-02 14:24:24 字數 1118 閱讀 7244

**模式

1、**模式概述

為其他物件提供**一種以控制對這個物件的訪問。在某些情況下,乙個物件不適合或者不能直接引用另乙個物件,而**物件可以在客戶端和目標物件之間起到中介作用。

2、示例**

#define _crt_secure_no_warning

#include #include using namespace std;

class goods

bool getisreal()

string getgoodsname()

private:

bool m_iisreal;

string m_igoodsname;

};class abstractshopping

;class koreashopping : public abstractshopping

};class americanshopping : public abstractshopping

};class africashopping : public abstractshopping

};class overseashopping : public abstractshopping

virtual void buygoods(goods* goods)

else

delete goods;

}bool goodsisreal(goods *goods)

void checkgoods()

~overseashopping()

}private:

abstractshopping* m_ishopping;

};int main()

return 0;

}

3、優缺點及適用場景

優點:

能夠協調呼叫者與被呼叫者,在一定程度上來說可以降低耦合性。

新增功能時通過新增**實現,不用去修改源**,符合開閉原則,系統有較好的擴充套件性

缺點

**實現比較複雜
適用場景

為其他物件提供一種**以控制這個物件的訪問

設計模式GOF23 工廠模式

簡單工廠模式 static factory method 是建立者模式的一種,是負責建立物件的模式。工廠模式是為了實現建立物件和呼叫物件分離的需求。簡單工廠用來生產同一等級結構中的任意產品。對於新增的產品需要修改已有 工廠方法模式用來生產同意等級結構中的固定產品。支援增加任意產品 抽象工廠模式用來生...

GoF23種設計模式

設計模式的經典名著 design patterns elements of reusable object oriented software,中譯本名為 設計模式 可復用物件導向軟體的基礎 的四位作者erich gamma richard helm ralph johnson,以及john vli...

GoF 23種設計模式

建立型模式 factory模式 abstractfactory模式 singleton模式 builder模式 prototype模式 結構型模式 bridge模式 adapter模式 decorator模式 composite模式 flyweight模式 facade模式 proxy模式 行為模式...