设计模式系列总结之策略模式

1.定义

策略模式是将系统中容易变化的部分提取出来封装成算法族,使算法族内的成员可以相互替换,独立于使用该算法的客户。

2.实现机制

1)继承:将一些不会变化的部分写在superclass内部,直接继承而来。例如 Cat和Dog都是Animal,都会叫,就可以将叫这个行为封装在Animal,具体的叫声运行时再指定。

2)多态:将一些经常变化的部分提取成与使用者无关的类型,程序运行期间就行动态的指定。例如Cat和Dog都会叫,但是叫的方式不同,如果使用继承,所有子类都要重复的去重写父类的方法,工作量很大,如果将其提取成一个无关的只会叫的接口,将不会影响其他的功能,如跑,跳等,也不会受继承父类的约束条件限制。更加有弹性。

3)组合:组合不是Java特性,但是在策略模式中运用却很广泛,我们利用多态将容易变化的部分独立之后,又可以将这些独立的部分相互组合,形成完整的一个对象。

3.策略模式的优势:

1)弹性大,代码复用性强。

2)低耦合,利用赋值器动态的获取属性的行为。

3)容易维护,不会影响到成熟的部分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值