原型模式是用於建立重複的物件,同時又能保證效能
用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。
如何解決:利用已有的乙個原型物件,快速地生成和原型物件一樣的例項
實際上prototype模式,builder模式,abstractfactory模式都是通過乙個類(物件例項)來專門負責物件的建立工作(工廠物件),而區別是:
原型模式通過拷貝乙個現有物件生成新物件。
淺拷貝實現cloneable,重寫,深拷貝是通過實現serializable讀取二進位製流
缺點:
使用場景:
注意事項:
prototype.hpp
#ifndef _prototype_h_
#define _prototype_h_
#include using namespace std;
class prototype
~prototype(){}
virtual prototype* clone() const=0;
};class concreteprototype:public prototype
concreteprototype(const concreteprototype& cp)
設計模式 建立型模式 原型模式
1 原型模式 prototype模式 是指 用原型例項指定建立物件的種類,並且通過拷貝這些原型,建立新的物件 2 原型模式是一種建立型設計模式,允許乙個物件再建立另外乙個可定製的物件,無需知道如何建立的細節 3 工作原理是 通過將乙個原型物件傳給那個要發動建立的物件,這個要發動建立的物件通過請求原型...
設計模式 建立型模式
建立型模式 與物件的建立有關。1 簡單工廠模式 靜態工廠 簡單工廠關聯具體類,通過簡單工廠來建立具體的類。封裝變化到簡單工廠裡面去。工廠類 具體類 2 工廠模式 抽象工廠 具體工廠 具體類 要是新增新的類,只需要擴充套件就可以了。他們對外的行為是一致的。3 抽象工廠 抽象工廠 具體工廠 具體類 具體...
設計模式 建立型模式
建立型模式 工廠方法 核心 客戶端呼叫具體的工廠,讓工廠去決定例項化哪個具體的類。核心 為工廠類建立對應的具體的類,表現為和對應的具體類的依賴關係。抽象工廠類 inte ce productfactory 具體a工廠 class concreteproductfactorya productfact...