zoukankan      html  css  js  c++  java
  • JavaScript 设计模式之代理模式

    一、代理模式概念解读

      1.代理模式概念文字解读

      代理,顾名思义就是帮助别人做事,GOF对代理模式的定义如下:

      代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。代理模式使得代理对象控制具体对象的引用。代理几乎可以是任何对象:文件,资源。内存中的对象,或者是一些难以复制的东西。

      2.代理模式概念拟物化解读

      (中介,负责收齐公司职员的周汇报再将其交给老总的秘书(可过滤掉一些不必要的冗余的信息),卡扣)

     

    二、代理模式的作用和注意事项

      模式作用:

        1.远程代理(一个对象将不同空间的对象进行局部代理)。

        2.虚拟代理(根据需要创建开销很大的对象如渲染网页暂时用占位代替真图)。

        3.安全控制(控制真实对象的访问权限 )。

        4.智能指引(调用对象代理处理另外一些事情如垃圾回收机制)。

      注意事项:

        1.不能滥用代理,有时候仅仅是给代码增加复杂度。

    三、代理模式的代码实战和总结

        1.一个实例

          代码如下:

    <meta charset="utf-8"/>
    <script type="text/javascript">
        //代理模式需要3方,房东委托中介将房子卖给买家
    
        //1.买家buyer
        function buyer(argument){
            this.name="小明";
        }
    
        //2.中介agent(卖房saleHouse)
        function agent(){
    
        }
        agent.prototype.saleHouse=function(){
            new landlord(new buyer()).saleHouse("20万");
        };
    
        //3.房东landlord(卖房saleHouse),只是坐等收钱而已
         function landlord(buyer){
             this.buyer_name=buyer.name;
             this.saleHouse=function(money){
                 alert('收到了来自【'+this.buyer_name+'】房款:'+money+'人民币');
             }
         }
         (new agent).saleHouse();
    </script>

    结果截图:

     

  • 相关阅读:
    jQuery_03之事件、动画、类数组操作
    jQuery_02之元素操作及事件绑定
    jQuery_01之选择器
    DOM_06之定时器、事件、cookie
    DOM_05之DOM、BOM常用对象
    DOM_04之常用对象及BOM
    DOM_03之元素及常用对象
    DOM_02之查找及元素操作
    了解bootstrap导航条
    学习Angularjs-day1-总结
  • 原文地址:https://www.cnblogs.com/shenxiaolin/p/5462691.html
Copyright © 2011-2022 走看看