设计模式之5职责连模式

定义

使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这些关系连成一条链,并沿着这条链传递该请求,直到一个对象处理它为止。现实生活中比如我们坐公交车的人太多,我们把1块钱交给售票员,让前面的人往前递直到售票员收到结束。我们是这个事件的发起者,中间传递的人有职责帮我们把1块钱传给售票员,但这1块钱不属于他们。
1、一定要有发起者
2、每一个中间人都要next往下传递,不能停
3、最后一个人一定要结束这件事

应用场景

将大的方法拆分,通过next串联起来

module.exports=function(){
    router.get('/:id.html',doSomething);
}
//将上面的方法拆分为三个  拆分业务逻辑 让代码更清晰
module.exports=function(){
    router.get('/:id.html',step1,step2,end);
}
//step1与step2一样 通过next向后传递
step1:function(req,res,next){
    safeRequest({
        url:'',
        success:function(data){
            req.data.index=data;
            return next();
        },
        error:function(){
            res.render('index/index.tpl',{})
        }
    })
}

end:function(req,res,next){
    var result=req.data.index;
    res.render(result)
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容