如何使用javascript中的职责链模式-创新互联

这篇文章主要讲解了如何使用javascript中的职责链模式,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

创新互联专注于南谯网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供南谯营销型网站建设,南谯网站制作、南谯网页设计、南谯网站官网定制、重庆小程序开发服务,打造南谯网络公司原创品牌,更为您提供南谯网站排名全网营销落地服务。

介绍:很多情况下,在一个软件系统中可以处理某个请求的对象不止一个。例如一个网络请求过来,需要有对象去解析request Body,需要有对象去解析请求头,还需要有对象去对执行对应controller。请求一层层传递,让每一个对象都基于请求完成自己的任务,然后将请求传递给下一个处理程序。是不是感觉有点中间件的感觉。

定义:职责链就是避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求。将这些对象连成一条链,并沿着链传递请求,直到有对象处理它为止。职责链模式是一种对象行为型模式。

场景:我们继续画圆,我们准备了两组示例:

示例:

var Circle = function(){
  this.radius = 0;
 
  this.drawByRadius = function(radius){
    if(radius < 5){
      this.drawVerySmalCircle();
    }else if(radius < 10){
      this.drawSmalCircle();
    }else if(radius < 15){
      this.drawMediumCircle();
    }else if(radius < 20){
      this.drawBigCircle();
    }else{
      this.drawVeryBigCircle();
    }
  }
 
  this.drawVerySmalCircle = function(){
    console.log('画一个超小的圆( 5以下 )');
  }
  this.drawSmalCircle = function(){
    console.log('画一个小圆( 5-10 )');
  }
  this.drawMediumCircle = function(){
    console.log('画一个中圆 ( 10-15 )');
  }
  this.drawBigCircle = function(){
    console.log('画一个大圆 ( 15-20 )');
  }
  this.drawVeryBigCircle = function(){
    console.log('画一个超大的圆 ( 20以上 )');
  }
}
 
var circle = new Circle();
circle.drawByRadius(30);
//画一个超大的圆 ( 20以上 )

标题名称:如何使用javascript中的职责链模式-创新互联
当前地址:http://bzwzjz.com/article/dsohhi.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 响应式网站建设 成都网站建设流程 手机网站制作 成都定制网站建设 四川成都网站制作 四川成都网站建设 网站制作 成都网站设计 成都网站设计公司 专业网站建设 手机网站制作设计 移动网站建设 成都网站建设 成都网站制作 重庆企业网站建设 响应式网站设计方案 重庆网站制作 成都网站建设 成都网站制作 成都网站建设公司 做网站设计 网站制作报价