简介:策略模式又叫做政策模式,用于如何组织和调用算法的,是属于行为型模式的一种。策略模式需要三个角色构成:Context封装角色:也叫做上下文角色,起承上启下封装作用,屏蔽高层模块对策略、算法的直接访问,封装可能存在的变化。Strategy抽象策略角色:通常为接口,指定规则。ConcreteStrategy具体策略角色:实现抽象策略中的操作,该类含有具体的算法。适用场景:优化单元测试,每个测试都有自己独特的算法,可利用策略模式自定义实现。实现同一类问题的不同解决方案的场景。优点:算法可以通过参数自由切换。方便扩展,增加策略只需要实现接口就行了。缺点:增加类数量。其它:与工厂模式的对比:工厂模式