* 策略模式(Strategy)



 GOF意图:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。(同一个调用类在不同策略下有不同策略实现的解决方案

角色:

环境类(Context):用一个Strategy对象来配置。维护一个对Strategy对象的引用

抽象策略类(Strategy):有一个方法Algorithminterface()是context当前策略下的不同实现。

具体策略类(ConcreteStrategy):具体策略类

实现要点:

context是主类,strategy是context不同策略。设置context.setStrategy()策略,用户调用context.contexInterface(),context直接调用strategy里的Algorithminterface()方法。达到了不同策略下不同方法实现。可以代替switch-case结构。

扫描二维码关注公众号,回复: 307217 查看本文章

猜你喜欢

转载自jishudaren.iteye.com/blog/2295476