最近看了《head first 设计模式》一书,便总结了里面的一些内容,今天就简单介绍一下策略模式。策略模式:定义了算法族,分别封装起来,让他们能够相互替换,此模式让算法的变化独立于使用算法的客户。简单来说,就是将各个算法分别封装起来,使得他们能够互换。下面是策略模式的示例结构图 ...
最近看了《head first 设计模式》一书,便总结了里面的一些内容,今天就简单介绍一下策略模式。
策略模式:定义了算法族,分别封装起来,让他们能够相互替换,此模式让算法的变化独立于使用算法的客户。简单来说,就是将各个算法分别封装起来,使得他们能够互换。
下面是策略模式的示例结构图:
策略模式涉及三个角色:
- 环境类(context):用一个ConcreteStrategy对象来配置。持有Strategy的引用。
- 抽象策略类(Strategy):定义了所有算法的公共接口。
- 具体策略类(ConcreteStrategy):定义了每一个算法,每个算法实现了同一个接口
源代码:
抽象策略类:
public interface Strategy { /** * 策略方法 */ public void strategyInterface();}
原标题:设计模式 之 策略(Strategy)模式
关键词:设计模式
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。