《Android源码设计模式解析与实践》
定义策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化
使用场景- 针对同一类型问题的多种处理方式。仅仅是具体行为有差别时
- 需要安全地封装多种同一类型的操作时
- 出现同一抽象类有多个子类,而又需要使用if-else或者switch-case来选择具体子类时
角色介绍: Context:操作策略的上下文环境 Stragety:策略的抽象; ConcreteStragetyA、~B:具体策略实现
这个也许应该写在开头,但是我想了想还是放在最后了。前面有过类似的说明了。再加一个有点啰嗦了,但是后来想想还是重复一下比较好。对比网络上书上对同一设计模式的理解和描述,这样就更立体了。
重构策略模式可以消除if-else 和switch-case;
总结这一篇总结没太多可以说的。策略模式结构比较简单,理解起来并不复杂,实践起来也比较容易。