概念
- 帮助别人做事
- 代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。代理模式使得代理对象控制具体对象的引用。代理几乎可以是任何对象∶文件,资源,内存中的对象,或者是一些难以复制的东西。
模式作用:
- 1.远程代理(一个对象将不同空间的对象进行局部代理)。
- 2.虚拟代理(根据需要创建开销很大的对象如渲染网页暂时用占位代替真图)。
- 3.安全代理(控制真实对象的访问权限)。
- 4.智能指引(调用对象代理处理另外一些事情如垃圾回收机制)。
注意事项:
- 1.不能滥用代理,有时候仅仅是给代码增加复杂度。
eg:
房东想卖房,但是没时间看,所以就找了中介代理,帮忙做这个交流,然后房东负责收钱就OK了。隐藏了对房东的直接访问
<meta charset="utf8"/>
<script type="text/javascript">
// 代理模式需要三方
// 1.买家
function maijia(argument){
this.name = '小明'
}
// 2.中介卖房
function zhongjie(){
}
zhongjie.prototype.maifang = function(){
new fangdong(new maijia()).maifang('20万');
}
// 3.房东 坐等收钱
function fangdong(maijia){
this.maijia_name = maijia.name; //买家名字
this.maifang = function(money){
alert('收到来自【'+this.maijia_name + '】' + money + '人民币');
}
}
(new zhongjie).maifang(); //没有参数的写法
</script>