设计模式之策略模式

策略模式 Strategy

Intro

策略模式(Strategy):它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的 Context

策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完全的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用类之间的耦合。

使用场景

策略模式就是用来封装算法的,但在实践中也可以用它来封装几乎任何类型的规则,只要在分析过程中听到需要在不同时间应用不同的业务规则,就可以考虑使用策略模式处理这种变化的可能性。

优点

  • 减少了具体的算法和使用算法类之间的耦合
  • 策略模式的 Strategy 类层为 Context 定义了一系列的可供重用的算法或行为,继承有助于析取这些算法中的公共功能
  • 简化了单元测试,因为每个算法都有i自己的类,可以通过自己的接口单独测试

More

更多设计模式及示例代码 传送门

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 策略模式定义: 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而...
    _凉笙阅读 346评论 0 1
  • 在程序设计中,我们也常常遇到这样的情况,要实现某一个功能有多种方案可以选择。比如一个压缩文件的程序,既可以选择 z...
    风铭阅读 1,496评论 0 0
  • 1. 概述 (1)策略模式的功能 策略模式的功能是把具体的算法实现,从具体的业务处理里面独立出来,把它们实现成为单...
    CrixalisAs阅读 212评论 0 0
  • 一、什么是策略模式 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,...
    雅俗共赏M阅读 467评论 0 0
  • 二 军城分公司开业之前,要做前期准备工作。宁负责利益最快部门,已经是很熟悉了,也就得心应手。妄和小负责利益最...
    韩驰冰阅读 167评论 0 1