• 设计模式之职责链模式


    职责链模式概念:
    职责链模式是使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。
    将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。
    链中收到请求的对象要么亲自处理它,要么转发给下一个候选者。提交方并不明确有多少个对象会处理它。
    任一候选者都可以响应相应的请求,可以在运行时刻决定哪些候选者参与到链中。
    职责链模式作用:
    1.dom的冒泡有些类似职责链
    2.nodejs当controller中有很多负责操作逻辑的时候拆分中间件
    3.解耦发送者和接受者
    注意事项:
    1.javascript中的每一次[.]是有代价的,要在必要的时候应用

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
        <script>
             function laoban(xiangmujingli){
                if(xiangmujingli){
                    this.xiangmujingli = xiangmujingli
                }
             }
             laoban.prototype.write = function(php){
                this.xiangmujingli.write(php);
             }   
             function xiangmujingli(coder){
                if(coder){
                    this.coder=coder
                }
             }
             xiangmujingli.prototype.write = function(php){
                 this.coder.write(php);
             }
             function coder(php){
                // this.write(php);
             }
             coder.prototype.write = function(php){
                 console.log('coding...',php);
             }
             var begin = new laoban(new xiangmujingli(new coder()));
             begin.write('php');
        </script>
    </body>
    </html>
    

    本文学习自常见设计模式视频

  • 相关阅读:
    洛咕 P4131 [WC2005]友好的生物
    P3354 [IOI2005]Riv 河流
    洛咕 P3645 [APIO2015]雅加达的摩天楼
    洛咕 P4528 [CTSC2008]图腾
    CSDN不登录阅读全文(最新更新
    #6472. 「ICPC World Finals 2017」难以置信的任务 Mission Improbable
    #6435. 「PKUSC2018」星际穿越
    #2009. 「SCOI2015」小凸玩密室
    #2007. 「SCOI2015」国旗计划
    PKUWC2018题解
  • 原文地址:https://www.cnblogs.com/smart-girl/p/11539548.html
Copyright © 2020-2023  润新知