代理(Proxy)模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。

代理模式的英文叫做Proxy或Surrogate,中文都可译成"代理"。所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。

类图:

实例:

代理执行远程方法

 public interface IMath{// Methodsdouble Add(double x, double y);double Sub(double x, double y);}public class Math : MarshalByRefObject, IMath{// Methodspublic double Add(double x, double y) { return x + y; }public double Sub(double x, double y) { return x - y; }}public class MathProxy : IMath{// Fields
        Math math;// Constructorspublic MathProxy(){// Create Math instance in a different AppDomainAppDomain ad = System.AppDomain.CreateDomain("MathDomain", null, null);ObjectHandle o = ad.CreateInstance("TestDesgine", "TestDesgine.Math", false,System.Reflection.BindingFlags.CreateInstance, null, null, null, null, null);math = (Math)o.Unwrap();}// Methodspublic double Add(double x, double y){return math.Add(x, y);}public double Sub(double x, double y){return math.Sub(x, y);}}

转载于:https://www.cnblogs.com/65702708/p/3197085.html

设计模式之“代理模式”相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

  7. 设计模式之一代理模式

    代理模式(代理设计模式) 代理模式的定义与特点 代理模式的结构与实现 代理模式(代理设计模式) 在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代 ...

  8. 23种设计模式7_代理模式之一静态代理

    23种设计模式7_代理模式之一静态代理 1 基本介绍 代理模式:为其他对象提供一种代理以控制对这个对象的访问 代理模式也叫委托模式,它是一项基本设计技巧.许多其他的模式,如状态模式.策略模式.访问者模 ...

  9. Java中的设计模式:“代理模式”的理解

    代理模式定义: 为其他对象提供一种代理以控制对这个对象的访问.在面向对象中,有时候直接访问一些对象比较麻烦,所以代理模式就是在这个对象上加上一个访问该对象的访问层.类似于很多明星的事务实际都是交给经纪 ...

  10. 三国杀与设计模式之代理模式(Proxy)

    本人原博地址:http://blog.saymagic.cn/blog.php?id=17 三国杀案例:在五人局中,作为反贼的黄月英借黄忠的刀杀作为忠臣的夏侯惇,从这句话中我们可以总结出一个成语对不对 ...

最新文章

  1. MinGW 仿 linux 开发环境
  2. 工具_好(zhuang)用(bi)的chrome插件
  3. 黑白棋子的移动(东方化改题+???)
  4. java 字符串第一个字符_深入Java源码剖析之字符串常量
  5. 互联网晚报 | 04月07日 星期四 |​ ​​​​刘强东卸任京东集团CEO,徐雷接任;世卫组织:中医药对治疗新冠有效...
  6. Symfony 框架实战教程——第一天:创建项目(转)
  7. ado.net mysql 下载_ADO.Net连接Mysql
  8. Oracle 12C 新特性之扩展数据类型(extended data type)
  9. 截取字符串_妙用字符串的替换和截取让Shell脚本精准得到你心中的那个“她”...
  10. zk和redis分布式锁比较
  11. Asymptotic efficiency of nonparametric tests笔记(正在进行中)
  12. PulseAudio安装流程
  13. 法院拍卖房产税费由谁承担
  14. #PPT进阶——图片变形
  15. @vaild权限校验框架配合java正则表达式
  16. 滑膜炎的表现、诊断与治疗
  17. 手机已连接但无法访问互联网,碰到这个情况怎么破?想不到是这样
  18. 用R语言进行筛选数据
  19. mpvue框架开发小程序
  20. 两个List<T>对象做对比

热门文章

  1. oracle lz压缩,LZ:Oracle热备期间过量Redo生成控制
  2. linux自带的cd刻录,linux下刻录CDROM的命令
  3. arm32 linux 内存分布,gcc代码反汇编查看内存分布[2]: arm-linux-gcc
  4. html怎么制作固定背景,使用CSS制作的页面背景固定和滚动效果
  5. 对象特性--构造函数调用规则
  6. android用户引导页,android欢迎界面引导页
  7. opencv学习笔记(二)
  8. 1 字节的 utf-8 序列的字节 1 无效_字节码文件结构详解
  9. 避开移入移出事件内部div干扰事件,e是function(e)的e
  10. Ubuntu 14.04 64位字体美化(使用文泉驿微黑)