策略模式

策略模式,把算法的实现和处理逻辑进行分离,选定特定的算法实现,将其填到context中去,然后由context来调用这个算法进行处理(处理流程对每个算法都是等同的)这样客户端只要持有一个context实例,然后为它设定相应的策略算法就可以了,如此可以方便添加不同的算法实现(典型应用:商城打折)
在具体应用中,很可能会出现,不同的策略算法所需要的数据个数及类型不相同,有两种常用的扩展方法,
1:扩展上下文,把数据都传到上下文的环境里,这样策略算法直接到上下文中去取,但这样可能会对那些特定算法所需要的数据造成浪费。
2:把某个策略算法额外需要的数据,直接由客户端传给策略算法,这样的坏处是数据的获取不统一,一部分来自上下文,一部分来自客户端
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值