概念(是什么?)
其思想是针对一组算法,将每一种算法都封装到具有共同接口的独立的类中,从而是它们可以相互替换。策略模式的最大特点是使得算法可以在不影响客户端的情况下发生变化,从而改变不同的功能。
编写步骤(怎么用)
定义抽象策略角色(为策略对象定义一个公共的接口)
编写具体策略角色(实际上就是实现上面定义的公共接口)
定义环境角色,内部持有一个策略类
案例
实现一个加减乘除的功能
1.定义抽象策略角色
2.定义具体策略角色(本例子仅仅演示,只是定义加、减两种具体策略)
3、环境角色
原文:https://www.cnblogs.com/lcxdevelop/p/10971762.html