手机版

一个简单的JavaScript设计模式代理模式示例教程

时间:2021-08-31 来源:互联网 编辑:宝哥软件园 浏览:

本文阐述了JavaScript设计模式的代理模式。分享给大家参考,如下:

一、代理模式概念

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

代理模式为其他对象提供代理,以控制对此对象的访问。代理模式使代理对象能够控制具体对象的引用。代理几乎可以是任何对象:文件、资源、内存中的对象或难以复制的东西。

说明:房屋中介可以帮助卖家把房子卖给买家。中间,卖家可以说出自己想卖的价格。买家也可以提出想要购买的房间类型。中介可以帮助处理中间环节。最后,达成了协议。中介可以同时代理很多房屋交易,也可以代理租房。

代理模式的组成:

抽象角色:通过接口或抽象类声明真实角色实现的业务方法。

代理角色:是真实角色的代理,通过真实角色的业务逻辑方法实现抽象方法,可以附加自己的操作。

真实角色:实现抽象角色,定义由真实角色实现的业务逻辑,供代理角色调用。

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

模式作用:

1.远程代理(一个对象本地代理不同空间中的对象)

2.虚拟代理(根据需要创建昂贵的对象,如渲染网页和用占位符临时替换真实图片)

3.安全代理(控制身份验证对象的访问权限)

4.智能指导(调用对象代理来处理其他事情,如垃圾收集机制)

注意事项:

1.你不能滥用代理,有时它只会增加代码的复杂性

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

!doctype html headlang=' en ' metacarset=' utf-8 ' title bagent模式/title/head dyscript//代理模式需要三方//1。买家功能麦嘉(){ this.name='小明';This.money='30 30万';} //2.中介函数中杰(){}中杰. prototype . maifang=function(){//new fongdong(new maijia())。麦芳(' 20万');新方东(新麦家())。麦芳(' 20万');} //3.卖家功能方东(麦嘉){这个。麦嘉_ name=麦家. namethis . maijia _ money=maijia . money;这个。maifang=function(money){//console . log('从[' this . maijia _ name ']收到的人民币' money ');Console.log('收到自[' this . mai Jia _ name ']' this . mai Jia _ money ' RMB ');} }(新中杰())。麦芳();/scriptscript//A2B函数A(){ this . money=' 20 RMB ';}函数设置为(){ if(!(此instanceof to)){返回new to} } to . prototype . maifang=function(){ var A=new A();新增B()。麦芳(a . money);}函数b () {this。maifang=function(money){ console . log(' received money ' money);} } (new to())。麦芳();至()。麦芳();/script/body/HTML使用在线HTML/CSS/JavaScript代码运行工具,http://tools.jb51.net/code/HtmlJsRun测试运行如下:

关于JavaScript的更多信息,请参考本网站的主题:《javascript面向对象入门教程》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》、0103010。

希望本文对JavaScript编程有所帮助。

版权声明:一个简单的JavaScript设计模式代理模式示例教程是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。