美文网首页
设计模式之5职责连模式

设计模式之5职责连模式

作者: 钱学敏 | 来源:发表于2018-06-03 11:39 被阅读0次

    定义

    使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这些关系连成一条链,并沿着这条链传递该请求,直到一个对象处理它为止。现实生活中比如我们坐公交车的人太多,我们把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)
    }
    

    相关文章

      网友评论

          本文标题:设计模式之5职责连模式

          本文链接:https://www.haomeiwen.com/subject/cafjsftx.html