美文网首页
Java设计模式——策略模式

Java设计模式——策略模式

作者: 黑白咖 | 来源:发表于2017-02-17 12:24 被阅读13次

大概很多人对设计模式的学习都停留在工厂模式和单例模式,其实有很多设计模式我们都已经接触过,或者使用过,下面讲到的策略模式,相信大家在使用ImageLoader,OkHttp等第三方框架的时候,在Application中都需要进行大量的配置工作,比如Builder.setImageFileNameGenerator(new MD5FileNameGenerator()),这里就使用了策略模式,所以面试的时候我们就可以说,策略模式就是自定义了一系列的算法,并且把每个算法封装起来,用户替换这些算法只需要在引用的地方替换相应的算法(策略)即可。

直接用例子来说明吧

实体类

策略类

定义的策略方法应该是实现了接口的类,每一个实现了该接口的类都可以作为一种策略来使用

使用的时候,如果我们需要更改洗衣方式为水洗,那么只需要修改DryWash为NormalWash即可

打印输出

上面的例子只是为了说明我们可以定义多种洗衣方式,需要使用的时候切换即可,实际使用过程中,定义的策略并不需要和实体类关联,实际情况实际分析。

哎,写完的时候突然想到一个很好的例子,古时候打仗的时候不是有火攻,水攻,箭雨,落石,不同的计谋就是不同的策略。还有比如像武功对决中,武林高手使用的招式,这些都是招式都是策略,最后你会发现,策略模式随处可见啊。

相关文章

  • java建造者模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java单例模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java外观模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java适配器模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java观察者模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java代理模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java策略模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • Java 常用设计模式简例

    简述Java常用设计模式 简述Java常用设计模式及设计原则 strate---------策略模式针对接口编程,...

  • 策略模式

    参考资料:漫话:如何给女朋友解释什么是策略模式? 设计模式之策略模式(实例+Demo) Java设计模式(8)——...

  • 学习Head First设计模式Day1

    Java设计模式之设计模式 策略模式:策略模式定义了算法簇,分别封装起来,让他们之间可以互相替换,此设计模式让算法...

网友评论

      本文标题:Java设计模式——策略模式

      本文链接:https://www.haomeiwen.com/subject/oqykwttx.html