简单工厂模式
使用一个工厂类,将其他的几个实例类包含进来,当需要创建对象时,通过传入的类型,创建对应的类对象返回。
typedef enum ProductType{
none,
TypeA=1,
TypeB
}PRODUCTTYPE;
class ProductBase{
};
class ProductA :public ProductBase{
};
class ProductB :public ProductBase{
};
class factory{
public:
ProductBase* CreateProduct(PRODUCTTYPE type){
switch(type){
case TypeA:
return new ProductA();
case TypeB:
return new ProductB();
default:
return nullptr;
}
}
};
工厂方法模式