代理模式:给某个对象提供一个代理对象,并由代理对象控制对原对象的引用。
本质:就是控制对象。
原理:
代理主题和真实主题实现相同的接口,使得任何使用真实主题的地方都可以使用代理主题,代理主题内部含有对真实主题的引用,在将调用传递给真实主题之前或之后执行一些额外的操作,达到控制真实主题的目的。
特征:
抽象主题角色(Subject):声明了真实主题和代理主题的共同接口。这样使得任何使用真实主题的地方都可以使用代理主题。
代理主题角色(proxy):代理主题内部含有对真实主题的引用,通常在将调用传递给真实主题之前或之后执行一些额外的操作,控制对真实主题的引用。
真实主题角色(RealSubject):代理角色所代表的真实角色。
5.说明:
代理主题角色可能不知道真实主题角色的存在,而仅仅持有一个被代理主题角色的接口,这时代理主题不能创建被代理主题对象,真实主题角色由系统的其它角色创建并传入。增加了灵活性。
实现上分成:静态代理以及动态代理(jdk 自带的动态代理以及cglib方式)
=========================================================
装饰器模式:能动态的新增或组合对象的行为。
代理模式:为其他对象提供一种代理以控制对这个对象的访问.
装饰模式是“新增行为”,而代理模式是“控制访问”。
类图如下:
- 大小: 2.9 KB
分享到:
相关推荐
apache开源项目源码commons-proxy-1.0-src 全部高质量代理模式proxy的java源程序 java.proxy,代理模式源码,设计模式,...apache开源组织开发的开源项目源码,其优良的代码风格和高质量的源码是学习者难得的学习资料!
里面包含了23中设计模式源代码,其中包括工厂模式(Factory)、单例(Singleton)、观察者模式(Observer)、适配器模式(Adapter)、Template模式、Decorate模式、proxy模式等 这些代码对于初学者看起来稍微复杂一些,我...
代码都可以直接运行,部分设计模式有多种实现,主要的设计模式如下:Creational-abstract_factory,Creational-factory_method,Creational-simple_factory,Creational-singleton,Creational-builder,Creational-...
代码仅供参考学习 。
C#设计模式(13)-Proxy Pattern 113 一、 代理(Proxy)模式 113 二、 代理的种类 114 三、 远程代理的例子 114 四、 代理模式的结构 115 五、 代理模式示例性代码 115 六、 高老庄悟空降八戒 117 七、 不同类型的...
23种设计模式(Design Pattern)的C++实现范例,包括下面列出的各种模式,代码包含较详细注释。另外附上“设计模式迷你手册.chm” 供参考。 注:项目在 VS2008 下使用。 创建型: 抽象工厂模式(Abstract Factory) ...
C++设计模式代码资源15_Proxy.zip
里面包含了23中设计模式源代码,其中包括工厂模式(Factory)、单例(Singleton)、观察者模式(Observer)、适配器模式(Adapter)、Template模式、Decorate模式、proxy模式等 这些设计模式源代码更容易理解
第12章介绍如何将两个以上的设计模式结合起来成为新的设计模式(例如著名的MVC模式),作者称其为复合设计模式(这是作者自创的名称,并非四人组的标准名词),第13章介绍如何进一步学习设计模式,如何发觉新的设计模式...
C#设计模式(13)-Proxy Pattern 一、 代理(Proxy)模式 二、 代理的种类 三、 远程代理的例子 四、 代理模式的结构 五、 代理模式示例性代码 六、 高老庄悟空降八戒 七、 不同类型的代理模式 八、 代理...
《asp.net设计模式》是为那些熟悉.net框架但希望了解如何改进编码方式以及如何运用设计模式、设计原则和最佳实践来提高代码的可维护性和适应性的asp.net开发者而写的。那些以前已经体验过设计模式的读者可能希望跳...
在个人自学阶段的23种设计模式代码的全部实现,全部使用Java编写,其中还包括各个设计模式在源码中的使用,每种设计模式都举了一个简单的小例子来进行实现,并加以注释 包名解释 一、DesignPattern 1.1 创建型模式 ...
C++设计模式代码: (VC工程) Creational Patterns Abstract Factory Creates an instance of several families of classes Builder Separates object construction from its representation Factory Method ...
《易学 设计模式》 郭志学 编著 随书源代码 ☆ 章节清单:☆ 第01章 欲速则不达:了解设计模式 第02章 磨刀不误砍柴工:UML语言概述 第03章 术业有专攻:简单工厂模式 (SimpleFactory) 第04章 精益求精:工厂方法...
另外,这也不是一篇高级专题技术论文,而是一本关于设计模式的书,它描述了在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。设计模式捕获了随时间进化与发展的问题的求解方法,因此它们并不是人们从...
java 代理模式实现代码及设计详解:动态代理模式、静态代理模式
解释器模式将描述怎样 在 有了一个简单的文法后, 使用模式设计解释这些语句。 在解释器模式里面提到的语言是指任 何解释器对象能够解释的任何组合。在解释器模式中需要定义一个代表 文法的命令类的等 级结构,也...
家庭作业的主题: HW01: PART1->策略设计模式PART2->观察者设计模式PART3->装饰器设计模式HW02: PART1->单例设计模式PART2->迭代器设计模式PART3->状态和观察者模式PART4->代理设计模式中期: PART1->抽象工厂...
Proxy ( 代理模式 ) Chain of Responsibility ( 责任链模式 ) Command ( 命令模式 ) Interpreter ( 解释器模式 ) Iterator ( 迭代器模式 ) Mediator ( 中介者模式 ) Memento ( 备忘录模式 ) Observer ( 观察...