设计模式 策略模式

来源:互联网 发布:土木工程软件 编辑:程序博客网 时间:2024/06/06 02:12

策略模式

策略模式是什么

策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。

策略模式的组成有哪些?

  • 抽象策略角色: 策略类,通常由一个接口或者抽象类实现。
  • 具体策略角色:包装了相关的算法和行为。
  • 环境角色:持有一个策略类的引用,最终给客户端调用。

策略模式与工厂模式的不同之处?

  • 用途不一样:
    工厂是创建型模式,它的作用就是创建对象;
    策略是行为型模式,它的作用是让一个对象在许多行为中选择一种行为;
  • 关注点不一样:
    一个关注对象创建
    一个关注行为的封装

一句话总结

策略模式与简单工厂模式结构类似,但作用不同:工厂模式用来创建对象,策略模式可以表示可替换的算法等。

0 0