设计模式 - 策略模式

发布时间:2016-12-11 10:14:37 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"设计模式 - 策略模式",主要涉及到设计模式 - 策略模式方面的内容,对于设计模式 - 策略模式感兴趣的同学可以参考一下。

二、策略模式 它定义了算法家族,分别封装起来,让它们之间可以互相替换。此模式让算法的变化,不会影响到使用算法的客户。 interface Strategy{ public abstract void algorithmInterface(); } class ConcreteStrategyA implements Strategy{ @Override public void algorithmInterface() { System.out.println("算法A的实现"); } } class ConcreteStrategyB implements Strategy{ @Override public void algorithmInterface() { System.out.println("算法B的实现"); } } 可以这样来看,各个策略的实现就是if-else的不同实现,把if-else的具体内容提出来作为单独的类,让客户端来选择。它们都是完成相同的工作,调用方式也相同,只是实现方式不同。它不仅可以用来封装算法,也可以用来封装其他任何类型的规则。 对于各个策略的选择,还是需要客户端用if-else来选择,所以一般在使用时,可以使用““简单工厂模式+策略模式”的组合方式,让简单工厂去选择策略的不同实现类,客户端只需要看到简单工厂提供的接口就行了。 个人感觉:策略模式其实就是简单地体现了“封装”和“多态”。

上一篇:the composition of the coluding compute
下一篇:windows 下安装 nodejs+npm+express

相关文章

相关评论