设计模式之——Factory(工厂模式)
2013-07-14 16:04
344 查看
工厂模式用于,通过统一的创建对象接口来创建对象,而子类可以决定对象的创建方式。
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; } };
相关文章推荐
- Andriod 设计模式之工厂模式 Factory
- 设计模式(一)工厂模式Factory(创建型)
- 设计模式 工厂方法(Factory Method Pattern)转载
- 设计模式之FactoryMethod(工厂方法)
- 设计模式之简单工厂(Simple Factory)
- java 23种设计模式--工厂模式(factory)
- 设计模式学习笔记——工厂(Factory)模式
- 面向对象设计模式之---简易工厂模式(Simple Factory Pattern)
- 设计模式-创建型模式之 Factory Method(工厂方法)
- Php设计模式之工厂模式(二)【工厂方法模式 Factory Method】
- 设计模式之--工厂模式(Factory)
- 设计模式杂谈:创建型模式之工厂方法(Factory Method)
- C#设计模式之工厂模式(Factory)--04 抽象工厂模式中访问具体产品类的属性
- java设计模式之工厂模式(Factory)
- 设计模式之工厂模式(Factory)
- 浅谈JAVA设计模式之——工厂方法(FactoryMethod)
- PHP设计模式:创建型之工厂模式(Factory Method)
- 设计模式案例--工厂模式--工厂方法(factory method)
- 聊聊JS与设计模式之(工厂Factory)篇------(麦当劳的故事)
- 设计模式C++描述----03.工厂(Factory)模式