vuePress-theme-reco MS    2019 - 2020

Choose mode

  • dark
  • auto
  • light
主页
分类
  • 程序设计
标签
时间线
关于我
author-avatar

MS

26

文章

3

标签

主页
分类
  • 程序设计
标签
时间线
关于我
  • 策略模式

    • Why
      • What
        • UML
        • 适用场景

    策略模式

    vuePress-theme-reco MS    2019 - 2020

    策略模式


    MS 2020-04-18 11:13:15 面向对象 设计模式

    # Why

    如果实现某一个功能有多条路径,每一条途径对应一种算法,可以使用策略模式,定义一些独立的类来封装不同算法。策略模式的主要目的是将算法的定义和使用分开,也就是将算法的行为和环境分开。

    策略模式(Strategy Pattern):定义一些列算法类,将每一个算法封装起来,并让它们可以相互替换,让算法独立于使用它的客户而变化,别名政策模式(Policy)。

    # What

    # UML

    策略模式

    # 适用场景

    • 一个系统需要动态的在几种算法中选择一种
    • 一个对象有很多行为
    • 对客户端隐藏复杂、与算法相关的数据结构