JavaScript---设计模式之代理模式

Posted H小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript---设计模式之代理模式相关的知识,希望对你有一定的参考价值。

概念

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

代理模式(Proxy),为其它对象提供一种代理以控制对这个对象的访问。

代理模式使得代理对象控制具体对象的引用。代理几乎可以是任何对象:文件,资源,内存中的对象,或者是一些难以复制的东西。

作用

  1. 远程代理(一个对象将不同空间的对象进行局部代理)
  2. 虚拟代理(根据需要创建开销很大的对象如渲染网页暂时用占位代替真图)
  3. 安全代理(控制真实对象的访问权限)
  4. 智能指引(调用对象代理处理另外一些事情如垃圾回收机制)

注意事项

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

<script type="text/javascript">
    function maijia(argument) {
        this.name = "小明";
    }
    function zhongjie() {

    }
    zhongjie.prototype.maifang=function () {
        new fangdong(new maijia()).maifang("20W");
    };
    function fangdong(maijia) {
        this.maijia_name = maijia.name;
        this.maifang = function (money) {
            alert("收到了来自"+this.maijia_name+":"+money);
        }
    }
    (new zhongjie).maifang();
</script>

 

以上是关于JavaScript---设计模式之代理模式的主要内容,如果未能解决你的问题,请参考以下文章

深入理解JavaScript系列(31):设计模式之代理模式

java代码实现设计模式之代理模式

Java设计模式-代理模式之动态代理(附源代码分析)

Spring之代理模式

#yyds干货盘点# 设计模式之代理模式:动态代理

设计模式之代理模式(Proxy)详解及代码示例