策略模式

[img]/upload/attachment/121818/2e873342-351a-3e41-8f64-ab9563a8f4f6.png[/img]

上图是根据《Head First》系列的《设计模式》书中的鸭子案例画的策略模式图。

策略模式定义:定义算法族,封装起来。可以相互替换。让算法的变换独立于使用算法的客户。

设计原则:封装变化。

在鸭子的例子中。首先是抽象了一个Duck类。然后发现其中的fly和quack是容易变化的,并且于是将其独立出来。并且实现。

优势:1.定义了可重用的算法。
2.简化单元测试。(每个算法都有自己的类,可通过接口测试)

应用场合:
只要发现可能在不同的条件下会使用不同的方法。就可以将其独立出来。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值