• 设计模式之行为型策略模式


    将定义的一组算法封装起来,使其相互之间可以替换。封装的算法具有一定独立性,不会随客户端变化而变化。
    策略模式不需要管理状态、状态间没有依赖关系、策略之间可以相互替换、在策略对象内部保存的是相互独立的一些算法。

    // 价格策略对象
    var PriceStrategy = function() {
      // 内部算法对象
      var strategy = {
        // 100返30
        return30: function(price) {},
        // 100返50
        return50: function(price) {},
        // 9折
        percent90: function(price) {},
        // 8折
        percent80: function(price) {},
        // 5折
        percent50: function(price) {}
      }
      // 策略算法调用接口
      return function(algorithm, price) {
        return strategy[algorithm] && strategy[algorithm](price);
      }
    }();

    策略模式主要特色是创建一系列策略算法,每组算法处理业务都是相同的,只是处理的过程或者处理的结果不一样,所以它们是可以相互替换的,这样就解决了算法与使用者之间的耦合。

  • 相关阅读:
    Java Web(八) MVC和三层架构
    Java Web(九) 用户管理系统
    Java Web(十一) 分页功能的实现
    hibernate(四) 双向多对多映射关系
    合并两个排序的链表
    反转链表
    链表中倒数第k个结点
    堆排序
    计算机网络常见面试题
    字节对齐原则
  • 原文地址:https://www.cnblogs.com/camille666/p/design_pattern_behavior_strategy.html
Copyright © 2020-2023  润新知