设计模式之——Factory(工厂模式)
2013-07-14 22:29
281 查看
工厂模式用于,通过统一的创建对象接口来创建对象,而子类可以决定对象的创建方式。
那么将工厂模式运用到Utility模块中的方式为:
class CObject { }; class CCar : public CObject { }; class CFactory { virtual CObject* Create() = 0; }; class CCarFactory : CFactory { virtual CObject* Create() { return new CCar; } };
那么将工厂模式运用到Utility模块中的方式为:
class YKObject { }; class YKMapObject { // YKObjectSPtr为智能指针 virtual YKObjectSPtr CreateObj(YK_ID id = 0, YK_BOOL bTemp = false) = 0; }; template <class T> class YKMapT : YKMapObject { virtual YKObjectSPtr CreateObj(YK_ID id = 0, YK_BOOL bTemp = false) { if (bTemp) id = 0; // 为每个对象指定一个ID,即每个对象将关联一个ID const YK_ID newId = YKIDCreater::Instance()->CreateNewID(id); reference objPtr = Get(newId); if (objPtr.ValidObj()) return objPtr; // 外界可提供额外的创建参数,类似于MFC中的OnCreate响应方式 std::vector<YKAny> vecParam; value_type newObj(true); newObj->SetID(newId); if (newObj->Create(vecParam)) { Insert(newObj, bTemp); return newObj; } return YK_NULL; } };
相关文章推荐
- JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
- .NET实用设计模式:工厂模式(Factory)
- 设计模式(九)[简单工厂(Simple Factory)模式]
- 设计模式系列之三:工厂模式(Factory Pattern)
- C++实现设计模式: Factory 工厂模式
- C#设计模式之工厂模式(Factory)--01 简单工厂(Simple Factory)
- 设计模式之Factory工厂模式
- 设计模式学习--工厂模式(Factory Pattern)
- 设计模式(一)----- 工厂方法(FactoryMethod)----(JAVA版)
- 设计模式学习(三) -- 工厂模式 Factory Pattern
- 设计模式学习笔记——简单工厂(Simple Factory)
- Head First 设计模式之工厂模式(Factory Pattern)
- Android设计模式之工厂模式 Factory
- .NET实用设计模式:工厂模式(Factory)
- 设计模式(一)----- 工厂方法(FactoryMethod)----(JAVA版)
- 设计模式--工厂方法(FactoryMethod)
- 设计模式之SimpleFactory(简单工厂)
- 设计模式学习笔记(四)之工厂模式(Factory)
- 设计模式(一)工厂模式Factory(创建型)
- 简单工厂设计模式(Simple Factory Design Pattern)