JavaScript设计模式中代理模式的介绍

这篇文章主要介绍了javascript设计模式代理模式,简单描述了代理模式的概念、功能、组成并结合实例形式较为详细的分析了javascript代理模式的定义与使用相关操作技巧,需要的朋友可以参考下

本文实例讲述了JavaScript设计模式之代理模式。分享给大家供大家参考,具体如下:

一、代理模式概念

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

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

解释:房屋中介,可以代理帮助卖家把房子卖给买家,这中间卖家说要卖的价钱就可以了,买家也可以提出自己要买的房型,中介可以帮忙处理中间环节。最后达成买卖。中介可以同时代理很多房屋买卖,并且可以代理租房事宜。

立即学习“Java免费学习笔记(深入)”;

代理模式的组成:

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

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

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

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

模式作用:

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

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

3、安全代理(控制证实对象的访问权限)

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

注意事项:

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

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

nbsp;html>  代理模式 //代理模式需要三方 //1.买家 function maijia(){  this.name = "小明";  this.money = "30万"; } //2.中介 function zhongjie(){ } zhongjie.prototype.maifang = function(){  //new fongdong(new maijia()).maifang("20万");  new fongdong(new maijia()).maifang("20万"); } //3.卖家 function fongdong(maijia){  this.maijia_name = maijia.name;  this.maijia_money = maijia.money;  this.maifang = function(money){//   console.log("收到了来自【"+this.maijia_name+"】"+money+"人民币");   console.log("收到了来自【"+this.maijia_name+"】"+this.maijia_money+"人民币");  } } (new zhongjie()).maifang();// A2B function A(){  this.money = "20RMB"; } function to(){  if(!(this instanceof to)){   return new to;  } } to.prototype.maifang = function(){  var a = new A();  new B().maifang(a.money); } function B(){  this.maifang = function(money){   console.log("收到了钱"+money);  } } (new to()).maifang(); to().maifang();

登录后复制

运行效果如下:

JavaScript设计模式中代理模式的介绍

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

关于JS正则表达式的RegExp对象和括号的使用

jQuery阻止事件冒泡实例分析

以上就是JavaScript设计模式中代理模式的介绍的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2747416.html

(0)
上一篇 2025年3月8日 04:21:30
下一篇 2025年3月8日 04:21:39

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JavaScript设计模式中工厂的介绍

    这篇文章主要介绍了javascript设计模式之工厂模式,结合完整实例形式分析了工厂模式的概念、原理及javascript定义与使用工厂模式的相关操作技巧,需要的朋友可以参考下 本文实例讲述了JavaScript设计模式之工厂模式。分享给大…

    2025年3月8日
    200
  • JavaScript设计模式中构造函数模式的介绍

    这篇文章主要介绍了javascript设计模式之构造函数模式,结合实例形式分析了构造函数模式的概念、功能、定义及使用方法,需要的朋友可以参考下 本文实例讲述了JavaScript设计模式之构造函数模式。分享给大家供大家参考,具体如下: 一、…

    2025年3月8日
    200
  • JavaScript同源策略和跨域访问的介绍

    这篇文章主要介绍了javascript同源策略和跨域访问,结合实例形式较为详细的分析了javascript同源策略与跨域访问的原理、实现、使用方法及相关注意事项,需要的朋友可以参考下 本文实例讲述了JavaScript同源策略和跨域访问。分…

    编程技术 2025年3月8日
    200
  • 关于javascript中的变量提升和函数提升

    这篇文章主要介绍了详解javascript中的变量提升和函数提升的相关资料,需要的朋友可以参考下 1在js中只有两种作用域 a:全局作用域 b:函数作用域 在ES6之前,js是没有块级作用域。 立即学习“Java免费学习笔记(深入)”; 首…

    2025年3月8日 编程技术
    200
  • JavaScript中getter和setter的介绍

    这篇文章主要介绍了关于javascript中getter和setter的介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 对象的属性是由属性名name,值key,和其他特性(可读写性 writable,可枚举性enumer…

    2025年3月8日 编程技术
    200
  • JS浏览器事件循环机制

    这篇文章主要介绍了关于js浏览器事件循环机制,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 先来明白些概念性内容。 进程、线程 进程是系统分配的独立资源,是 CPU 资源分配的基本单位,进程是由一个或者多个线程组成的。 线程…

    2025年3月8日
    200
  • 用Node处理文件上传

    这篇文章主要介绍了关于用node处理文件上传,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 前言 在Web开发中,文件上传是一个非常常见、非常重要的功能。本文将介绍如何用Node处理上传的文件。 需求分析 由于现在前后端分离…

    2025年3月8日 编程技术
    200
  • 用Node提供静态文件服务

    这篇文章主要介绍了关于用node提供静态文件服务,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 前言 对于一个web应用,提供静态文件(CSS、JavaScript、图片)服务常常是必须的。本文将介绍如何做一个自己的静态文件…

    2025年3月8日
    200
  • 利用javascript判断浏览器类型

    这篇文章主要介绍了关于利用javascript判断浏览器类型,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 判断浏览类型的相关方法 控制台打印浏览器相关信息 window.navigator.userAgent.toLowe…

    编程技术 2025年3月8日
    200
  • 浏览器与NodeJS的EventLoop异同以及部分机制

    这篇文章主要介绍了关于浏览器与nodejs的eventloop异同以及部分机制,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 浏览器与NodeJS的EventLoop异同,以及部分机制 javascript 是一门单线程的脚…

    2025年3月8日 编程技术
    200

发表回复

登录后才能评论