(19)设计模式

编程入门 行业动态 更新时间:2024-10-24 16:27:34

(19)设计<a href=https://www.elefans.com/category/jswz/34/1771241.html style=模式"/>

(19)设计模式

文章目录

    • 1. 定义
    • 2. 通用类图
    • 3. 优缺点
      • 3.1 优点
      • 3.2 缺点
    • 4. 使用场景
    • 5. 总结

1. 定义

策略模式,英文全称是 Strategy Design Pattern。定义为:定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式可以使算法的变化独立于使用它们的客户端。

2. 通用类图

3. 优缺点

3.1 优点

  1. 算法可以自由切换。
  2. 避免使用多重条件判断。
  3. 扩展性良好。

3.2 缺点

  1. 策略类数量增多。
  2. 所有的策略类都需要对外暴露。

4. 使用场景

  1. 多个类只有在算法或行为上稍有不同的场景。
  2. 算法需要自由切换的场景。
  3. 需要屏蔽算法规则的场景。

5. 总结

策略模式定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式可以使算法的变化独立于使用它们的客户端。

策略模式用来解耦策略的定义、创建、使用。实际上,一个完整的策略模式就是由这三个部分组成的。

  • 策略类的定义比较简单,包含一个策略接口和一组实现这个接口的策略类。
  • 策略的创建由工厂类来完成,封装策略创建的细节。
  • 策略模式包含一组策略可选,客户端代码如何选择使用哪个策略,有两种确定方法:编译时静态确定和运行时动态确定。其中,“运行时动态确定”才是策略模式最典型的应用场景。

更多推荐

(19)设计模式

本文发布于:2024-02-11 15:24:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1681731.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:模式

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!