美文网首页
策略模式

策略模式

作者: Happyday_5fce | 来源:发表于2020-11-25 09:25 被阅读0次

    概述

    用于算法的自由切换和扩展,它是应用较为广泛的设计模式

    对应于解决某一问题的一个算法族,允许用户从该算法族中任选一个算法来解决问题,同时可以方便的更换算法或者增加新的算法。

    工厂模式是解耦对象的创建和使用,观察者模式是解耦观察者和被观察者。策略模式跟两者类似,也能起到解耦的作用,不过,它解耦的是策略的定义、创建、使用这三部分。接下来,我就详细讲讲一个完整的策略模式应该包含的这三个部分。

    缺点

    客户端必须知道所有的策略类,并自行决定使用哪一个策略类。

    策略模式讲造成系统产生很多具体策略类。

    模板模式这个问题就不明显

    优点

    策略模式提供了对开闭原则的完美支持,用户可以不修改原有系统的基础上选择算法或行为,也可以灵活地增加新的算法或者行为。

    策略模式提供了管理相关算法族的办法。策略类的等级结构定义了一个算法或者行为族,恰当使用继承可以把公共代码移到抽象策略类,从而避免重复代码。有点像模板模式。只是比模板模式多了一个context

    避免多重条件选择语句。把算法的使用和定义分开,独立变化


    结构

    支付方式 可以封装成策略类。

    退费系统可以用策略模式或者模板模式

    商场促销方式,打折、满减

    订单中台退款策略

    相关文章

      网友评论

          本文标题:策略模式

          本文链接:https://www.haomeiwen.com/subject/qknuiktx.html