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);

  • 相关阅读:
    视图、触发器、事务、存储过程、函数,流程控制
    权限管理,pymysql模块
    单表查询
    sql逻辑查询语句的执行顺序
    Mysql数据库基础知识
    库,表,记录的相关操作
    并发编程之IO模型
    并发编程之协程
    并发编程之多线程
    事件委托
  • 原文地址:https://www.cnblogs.com/SLchuck/p/4869714.html
Copyright © 2011-2022 走看看