zoukankan      html  css  js  c++  java
  • 5.js模式-职责链模式

    1. 职责链模式

    将对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。

    var chain = function(fn){

          this.fn = fn;

          this.successor = null;

    }

    chain.prototype.setNextSuccessor = function(successor){

          return this.successor = successor;

    }

    chain.prototype.passRequest = function(){

          var ret = this.fn.apply(this,arguments);

         

          if(ret === 'nextSuccessor'){

                 return this.successor && this.successor.passRequest .apply(this.successor,arguments);

          }

         

          return ret;

    }

    var order200 = function(pay){

          if(pay){

                 console.log('200');

          }else{

                 return 'nextSuccessor';

          }

    }

    var normal = function(pay){

          if(pay){

                 console.log('10');

          }else{

                 console.log('50');

          }

    }

    var chain200 = new chain(order200);

    var chainNormal = new chain(normal);

    • order200.setNextSuccessor(chainNormal);

    chain200.passRequest(false);

  • 相关阅读:
    MySQL——索引
    MySQL——逻辑分层与存储引擎
    APP测试总结
    如何提高测试的质量
    测试用例的基础
    opencv图像处理常用操作一
    【bug】【Cannot find reference 'imread' in '__init__.py | __init__.py'】
    Numpy学习笔记
    工业互联网
    Python基本的数据清洗
  • 原文地址:https://www.cnblogs.com/SLchuck/p/4869714.html
Copyright © 2011-2022 走看看