工厂方法模式

DF对工厂方法模式的定义是:定义了一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。

工厂方法模式 对 简单工厂模式的改变在:将switch中的判断变成了一个个子类。

这样做虽然增加了很多类,但是它是有好处的。因为工厂方法更利于扩展,添加功能只需创建子类即可无需修改switch中的代码。

 

例如:

interface IFactory

{

Operation CreateOperation();

}

 

class AddFactory extends IFactory

{

ppublic Operation CreateOperation()

{

return new OperationAdd;

}

}

 

class SubFactory extends IFactory

{

public Operation CreateOperation()

{

return new OperationSub();

}

}

在Main函数中可以这样使用:

IFactory operFactory=new AddFactory();

Operation oper=operFactory.CreateOperation();

oper.NumbetA=1;

oper.NumberB=2;

double result=oper.GetResult();

在工厂方法模式中,每一个子工厂都依赖了相应的子类。

 

你可能感兴趣的:(工厂方法模式)