策略模式

琢磨了一下策略模式,发现各个模式之间并不是区别特别大,他们都是基于软件工程一个大的基础上进行细微化差别的设计。要想熟练的选择和使用各个模式要了解每个模式的应用场景。
比如这次学习的策略模式,在大话设计模式中举了一个商场促销几种方案的例子,如果以简单工厂模式切入写出的程序和策略模式答题不差。我在用简单工厂模式构想这个商场打折的问题时候相到的方法和策略模式无二。
所以这次主要是给出策略模式的理论知识和大话中的例子给大家思考。以下内容多出自《大话》。

策略模式将各个算法家族分别封装,这些算法处于并列状态,用户可以以相同的方式调用不同算法。

这句话算是策略模式的纲。
那么采用策略模式有什么好处呢?

1.使用策略模式实现并列的多个算法时,可以提取公共的部分,成为super类。
2.每个算法有自己的实现类,可以通过独立的接口进行单元测试

我们把上面的规则提炼为:当工程中需要在不同的场合使用不同的规则,这种应用场景出现的时候,我们就可以来应用策略模式。
以上为策略模式的概念建议结合简单工厂模式进行实践和思考。
给出大话中的例子,参考上一篇简单工厂模式进行code。

商场搞活动时,会有一下几种打折方式:
1.满200减50
2.打八折
3.满100送10积分
4.满199送100现金券
code来实现不同时期采用不同促销策略计算收益。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值