zoukankan      html  css  js  c++  java
  • 设计模式之职责链模式

    职责链模式概念:
    职责链模式是使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。
    将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。
    链中收到请求的对象要么亲自处理它,要么转发给下一个候选者。提交方并不明确有多少个对象会处理它。
    任一候选者都可以响应相应的请求,可以在运行时刻决定哪些候选者参与到链中。
    职责链模式作用:
    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>
    

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

  • 相关阅读:
    201006120100630
    2010080120100901
    20101120至20101220
    201155学习总结
    PublishReport.rss
    windowservice创建及部署
    提示要角色管理工具安装Microsoft .NET Framework 3.5
    部署SSIS包
    ETL及SSIS
    IbatisNet
  • 原文地址:https://www.cnblogs.com/smart-girl/p/11539548.html
Copyright © 2011-2022 走看看