您的位置:首页 > 其它

设计模式之---策略模式

2013-01-28 16:53 218 查看
策略:
namespace 商场管理软件
{
class context
{
private cash cs;
public context(cash cs)//构造相应的 函数  这里其实是构造对应不同算法的对象
{
this.cs = cs;
}
public double getResult(double money)
{
return cs.accepyCash(money);//调用不同的算法
}

}
}


策略模式是用来封装算法的,但是,在现实生活中可以看到,策略模式是可以封装任何的类型规则。只要在分析过程在不同的时刻调用不同的函数规则就可以。

策略模式相比较于工厂模式:

策略模式将算法封装(也可以理解为类),然后提供一个调用的类 类似与一个统一的接口,具体的实现对应于用户操作时调用来创建的对象来定。

工厂模式将类分装,在工厂类中根据用户的具体需求来创建不同的类,在用户实现时,根据情况产生单一的具体问题的解。

工厂模式:

namespace 商场管理软件
{
class cashFactory
{
public static cash creatcash(string type)
{
cash super = null;
switch (type)
{
case "正常收费":
super = new cashNomal();
break;
case "满300返100":
cashreturn  super1 = new  cashreturn("300","100");
super = super1;
break;
case "打八折":
cashRebate   super2 = new cashRebate(0.8);
super = super2;
break;

}
return super;

}

}
}


让我再思考思考。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: