個人覺得:乙個單例模式的工廠,永遠只維護乙個類的例項,誰要訪問例項,工廠就返回這個例項,不會有副本。flyweight模式類似,一堆例項工廠,其中,每個例項都是獨一無二的,且沒有副本(因此隱含了工廠來管理物件的生命週期)。
參考的網路例子太多沒注意記憶體洩漏,本人都作了完善。
如下:
#include
#include
#include
using
std::cout;
using
std::endl;
using
std::string;
class object
string getproperty()
virtual
void operation(string var) = 0;
virtual ~object() {}
};class myobject:public object
virtual
void operation(string var)
virtual ~myobject()
};class flyweightfactory
}object* tempobj = new myobject(key);
objgroup.push_back(tempobj);
return tempobj;
}~flyweightfactory()}}
};int main()
return
0;}
設計模式 設計模式
物件導向程式設計 oop 的基本概念有 封裝,抽象,繼承,多型等,如何開發出可復用的物件導向軟體一直困擾著軟體開發人員。可復用的物件導向技術包括類的繼承,物件的組合和引數化型別 generic gof的巨著 設計模式 總結出可復用的物件導向的23個設計模式,並且歸類成 建立型模式,結構型模式和行為型...
設計模式 命令設計模式
一句話總結 命令設計模式的實質是將命令定義,命令的執行分離開,從而提公升了系統的解藕性 結構 命令的抽象command 命令的具體實現concretecommand 命令處理者抽象ireceiver 命令處理者的具體實現concretereceiver 命令的呼叫者invoker 客戶端client...
設計模式 9 設計模式
文章 head first 第一章 head first 設計模式讀書筆記 1 策略模式 觀察者模式 head first設計模式學習2 裝飾者模式 head first 設計模式3 工廠模式 head first設計模式4 命令模式 head first 設計模式5 介面卡模式和外觀模式 head...