概述
在日常开发工作中,适当的使用一些设计模式,可以让代码扩展性更强,能更好地拥抱变化,让代码更加优雅。本文主要介绍设计模式中的策略模式,并附上测试示例 Demo 供大家参考。
定义
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。
个人理解
策略模式,针对那些动作因对象而异的情况下,把每一个动作都独立封装起来并实现同一个接口,通过组合的方式赋予对象相对应的动作,从而使得所有的动作都可以相互替换。通过策略模式,可以达到在运行时修改对象的具体动作、对象和具体动作之间解耦的效果。
设计原则
1)找出应用中可能需要变化的地方,把它们独立出来,不要和那些不需要变化的代码混在一起;
2)面向接口编程,而不是面向实现编程;
3)多用组合,少用继承;