相关的资料网上很多,我这里自己总结一下。
策略模式就是为了达到一个目标,可以有多种方法(即多种策略)采用,为了减少类与类之间的耦合,所以采用如下措施:
- 设置一个接口,interface Strategy,里面有未实现的方法doThings()
- StrategyA 继承 Strategy,StrategyB 也继承 Strategy,这两个具体类分别实现doThings()方法,注意这两个类里面的doThings()方法的具体实现是显然不同。
- 然后在main里面利用多态性。
Strategy s = new StrategyA();
s.doThings();
或者
Strategy s = new StrategyB();
s.doThings();
这样就能通过一个引用随时更改采用的策略。
** 注意这里Strategy是采用接口interface而不是抽象类,接口是对行为的抽象,抽象类是对对象的抽象。
本文介绍了策略模式的概念及其在软件设计中的应用。策略模式允许在运行时选择算法或行为,通过定义一系列可互换的算法并将它们封装起来,使它们可以相互独立地变化。文章通过实例展示了如何使用接口来实现策略模式,以及如何在程序中动态地切换不同的策略。

被折叠的 条评论
为什么被折叠?



