• 设计模式3—策略模式【行为型】


    https://www.cnblogs.com/zooboo/p/9556212.html

    1、参考例子:

    var obj = {
            "A": function(salary) {
                return salary * 4;
            },
            "B" : function(salary) {
                return salary * 3;
            },
            "C" : function(salary) {
                return salary * 2;
            } 
    };
    var calculateBouns =function(level,salary) {
        return obj[level](salary);
    };
    console.log(calculateBouns('A',10000)); // 40000

    【以上面例子说明】策略模式的目的就是将 算法的使用算法的实现 分离开来。体现在代码中,就是用一个单独的对象,封装所有的 算法实现

            因为,算法最后都会返回一个值,所以使用结果是一样的,这样 封装 一个 调度 算法的函数【根据参数,自动使用相应的算法】。

    个人理解:策略模式,就是 将多种执行任务 写在一个对象下,由一个 函数 统一调度这些任务。调度方法,一次只能调度一个任务;如果要调度多个方法,应该生成一个新的任务。

         在任务里面 可以组合多个任务。

    2、策略模式实际使用场景:

      a、表单验证中的使用。   【参考   实际模式的书籍】

    3、使用策略模式的优点如下:

    优点:1. 策略模式利用组合,委托等技术和思想,有效的避免很多if条件语句

               2. 策略模式提供了开放-封闭原则,使代码更容易理解和扩展

               3. 策略模式中的代码可以复用。

  • 相关阅读:
    ElasticSearch6学习(1)-安装Elasticsearch
    Ubuntu 18.04 安装java8
    windows10 php7安装mongodb 扩展
    https加密解密过程详解
    Beanstalkd,zeromq,rabbitmq的区别
    PHP中的++和--
    win10 git bash 闪退
    谈下WebSocket介绍,与Socket的区别
    Bridge桥接模式(结构型模式)
    Apater适配器模式(结构型模式)
  • 原文地址:https://www.cnblogs.com/wfblog/p/14395267.html
Copyright © 2020-2023  润新知