[说明]
简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。 简单工厂模式是由一个工厂对象决定创建出那一种产品类的实例。
工厂模式的几种形态
工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类。工厂模式有以下几种形态:
注意:简单工厂模式并不包含在23种模式之内。
//下面是一个计算器了例子,用到了简单工厂模式
class operation
{
private:
double numberA;
double numberB;
double result;
public:
virtual double GetResult()
{
return result ;
}
}
class operationAdd :operation
{
public:
operationAdd(double A,double B)
virtual double GetResult()
{
result = numberA+numberB;
return result ;
}
}
class operationSub:operation
{
public:
operationSub(double A,double B)
virtual double GetResult()
{
result = numberA - numberB;
return result;
}
}
//简单工厂
class operationFactory
{
public:
static operation * CreateOperation(string operation)
{
operation * oper = NULL;
switch(operation)
{
case "+":
oper = new operationAdd();
break;
case "-"
oper = new operationSub();
break;
}
return oper;
}
}