请问一下工厂模式和策略模式的区别
请问一下工厂模式和策略模式的区别:
工厂模式返回是不是就是一个子类对象?然后策略模式是在内部生成子类对象,并且在内部进行计算,然后返回计算后的结果呢? 先谢谢大家了 呵呵
见书上有个例子说是: 对于加减乘除的运算,有个父类Operation
然后四个子类,OperationAdd,OperationSub ……都集成了Operation父类
想请问下大家:
工厂模式下的工厂类中,是不是根据运算符的不同而返回相应的Operation子类呢?
策略模式下的Context类中,是不是根据运算符的不同,在类内部生成相应的对象,并计算,然后返回的是计算结果呢?
public abstract class Operation
{
private string strNum1;
private string strNum2;
public string StrNum2
{
set
{
strNum2 = value;
}
get
{
return strNum2;
}
}
public string StrNum1
{
set
{
strNum1 = value;
}
get
{
return strNum1;
}
}
public abstract string operate();
}