六.工厂与策略结合
工厂与策略结合:
将工厂模式与策略模式结合使用:
工厂模式:——客户端需要用到工厂和方法类
传入参数
判断选择实体类型
返回实例化的类型
策略模式:——客户端需要用到策略和方法类
传入的是(已经判断选择的实例化的)实体类型
声明一个方法,调用实体的方法
客户端调用策略类的这个
结合后:——客户端只需用到工厂策略类
传入参数
判断选择实体类型
声明一个方法,调用实体的方法
classCashContextFactory
{
private CashSuper cs;
public CashContextFactory (string type)
{
switch (type)
{
case "正常收费":
cs = new CashNormal();
break;
case "打八折":
cs = newCashRebhate("0.8");
break;
case "打七折":
cs = newCashRebhate("0.7");
break;
case "满500送100":
cs = newCashReturn("500", "300");
break;
}
}
public double GetResult(double monty)
{
return cs.acceptCash(monty);
}
}