Java--设计模式--策略模式

220 阅读2分钟
  • 策略模式基本概念:
    • 1.什么是策略模式?
      • 策略: 策略这个词应该怎么理解,打个比方说,我们出门的时候会选择不同的出行方式,比如骑自行车、坐公交、坐火车、坐飞机、坐火箭等等,这些出行方式,每一种都是一个策略。
      • 定义:定义一系列的算法,把每一个算法封装起来, 并且使它们可相互替换。
      • 一个问题,需求就是解决它,它有多种解决方法,每个方法就是一个策略。
    • 2.策略模式的作用?
      • 根据一个问题不同的情况,使用不同的策略来应对。
    • 3.为什么要使用策略模式?
      • 耦合性:将出行套用在Java代码中,则是一连串的 if-else 语句,但是过于臃肿和耦合性过高。而使用策略模式则可以任意的选择一个方式,进行使用。
      • 扩展性:在扩展时比较方便,如果现在新增一个新的出行方式,只需要新写一个类,然后接口继承一下就好了,可以直接投入使用,且对之前的出行方式无丝毫影响。
    • 4.策略模式的优点?
      • 参考第三点
    • 5.策略模式的缺点?
      • 使用时需要对所有的策略方法都了解,后期才能在使用的时候,根据需求选择最匹配的方法。
  • 策略模式的实现:
    • 环境类(Context):用来操作策略的上下文环境,也就是我们游客。
    • 抽象策略类(Strategy):策略的抽象,出行方式的抽象
    • 具体策略类(ConcreteStrategy):具体的策略实现,每一种出行方式的具体实现。
  • 具体实现代码请点击 github.com/Mbm7280/Jav…