一、代理模式概念解读

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

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

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

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

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

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

模式作用:

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

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

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

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

注意事项:

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

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

1.一个实例

代码如下:

<meta charset="utf-8"/>
<script type="text/javascript">//代理模式需要3方,房东委托中介将房子卖给买家//1.买家buyerfunction 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>

结果截图:

转载于:https://www.cnblogs.com/shenxiaolin/p/5462691.html

JavaScript 设计模式之代理模式相关推荐

  1. Javascript 设计模式之代理模式【讲师辅导】-曾亮-专题视频课程

    Javascript 设计模式之代理模式[讲师辅导]-969人已学习 课程介绍         随着 javascript ES6/7 的发布,很多老版本的设计模式的实现,今天来看是错误的,将被彻底. ...

  2. Javascript设计模式之——代理模式

    最近在读<javascript设计模式与开发实践>,在这里把文中的各种设计模式写出来,以便加深记忆,也可以分享给初学者.如果你不了解设计模式,那么强烈推荐你阅读一下这本书,相信它可以颠覆你 ...

  3. JavaScript设计模式--简单工厂模式例子---XHR工厂

    JavaScript设计模式--简单工厂模式例子---XHR工厂 第一步,Ajax操作接口(目的是起一个接口检测作用) (1)引入接口文件 //定义一个静态方法来实现接口与实现类的直接检验 //静态方 ...

  4. 【设计模式】代理模式 ( 动态代理 | 模拟 Java 虚拟机生成对应的 代理对象 类 )

    文章目录 前言 一.模拟 JVM 生成对应的 代理对象 二.模拟 JVM 生成对应的 代理对象 完整流程展示 1.目标对象接口 2.被代理对象 3.调用处理程序 4.模拟 JVM 生成的代理对象类 5 ...

  5. C++设计模式之代理模式

    这篇文章主要介绍了C++设计模式之代理模式,本文讲解了什么是代理模式.代理模式的使用场合.代理模式的实现代码等内容,需要的朋友可以参考下 前言 青春总是那样,逝去了才开始回味:大学生活也是在不经意间就 ...

  6. python中代理模式分为几种_Python设计模式之代理模式实例详解

    本文实例讲述了Python设计模式之代理模式.分享给大家供大家参考,具体如下: 代理模式(Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问 #!/usr/bin/env py ...

  7. 设计模式笔记——代理模式

    设计模式笔记--代理模式 代理模式介绍 代理模式通常是介于请求方和提供方的一个中介系统,请求方是发送请求的一方,提供方是根据请求提供相应资源的一方 Web中的代理服务器就是一个例子,客户端向代理服务器 ...

  8. 「设计模式(五) - 代理模式」

    「设计模式(五) - 代理模式」 一.处处可见的"代理" "代理"在平常生活司空见惯,点外卖,租房子找中介,买飞机票等等.基本上用手机就能完成,也就是不直接接触 ...

  9. Javascript 设计模式之外观模式【讲师辅导】-曾亮-专题视频课程

    Javascript 设计模式之外观模式[讲师辅导]-770人已学习 课程介绍         随着 javascript ES6/7 的发布,很多老版本的设计模式的实现,今天来看是错误的,将被彻底. ...

最新文章

  1. 基于wsimport生成代码的客户端
  2. L1-003. 个位数统计
  3. Sql server中如何将表A和表B的数据合并(乘积方式)
  4. Google MapReduce
  5. 删除所有的视图,存储过程
  6. javascript规范以及设计原则
  7. CRM、用户管理权限
  8. Hive thrift服务--beeline使用
  9. java hashtable 遍历_Java HashTable forEach()用法及代码示例
  10. K-means算法应用:图片压缩
  11. 月薪2万程序员面试,被HR直面吐槽:毕业生能值这个数?
  12. Flink State - Backend Improvements and Evolution in 2021
  13. CentOS下双网卡绑定-bond0
  14. 元宇宙,是忽悠还是未来
  15. 华为的宿敌思科,诞生爱情土壤中的技术之花
  16. 名词性从句的时态规则
  17. ch340t电路_CH340电路设计 - ch340g典型应用电路
  18. 微信定向流量_中国移动终于投诚了!微信惊现10G流量包,只要10元?
  19. AIO-3399J重新安装Ubuntu系统-刷新固件
  20. Alarm机制-学习记录

热门文章

  1. matlab 中的矩阵分解
  2. 深度学习:波士顿房价预测
  3. YOLOX目标检测模型Keras实现,超越Yolov5
  4. 文本分类器,可自由加载BERT、Bert-wwm、Roberta、ALBert以及ERNIE1.0
  5. 深度学习模型压缩方法
  6. ubuntu终端安装python_Ubuntu linux下安装python3(手动安装)
  7. 全排列 流程图_[分享]给排水工程全流程施工详解,看看精品工程是怎样施工的!...
  8. Java设计模式透析之 —— 单例(Singleton)
  9. 被3整除判断准则的证明
  10. Android LayoutInflater概述