- 浏览: 23537 次
- 性别:
- 来自: 上海
文章分类
为其他对象提供一种代理以控罪对这个对象的访问。
代理大致被分为以下几种:
虚代理:根据需要来创建开销很大的对象,该对象只有在需要的时候才会被真正创建。
远程代理:用来在不同的地址空间上代表同一对象,这个不同的地址空间可以是在本机,也可以在其他机器上。java里最典型的就是RMI技术。
copy-on-write代理:在客户端操作的时候,只有对象确实改变了,才会真的拷贝(克隆)一个目标对象,算是虚代理的一个分支。
保护代理:控制对原始对象的访问,如果有需要,可以给不同的用户提供不同的访问权限。
Cache代理:为那些昂贵操作的结果提供临时的存储空间,以便多个客户端可以共享这些结果。
防火墙代理:保护对象不被恶意用户访问和操作。
同步代理:使多个用户能够同时访问目标对象而没有冲突。
智能指引:在访问对象时执行一些附加操作。比如,对指向实际对象的引用计数。第一次引用一个持久对象时,将它装入内存。
代理类和委托类实现相同的接口。代理类中引用了委托类来实现接口中的方法,在客户端可以使用代理类。
把自己实现的代理模式称为Java的静态代理。缺点是一旦接口发生变化,代理类和委托类都要改变。
把Java内建的对代理模式支持的功能来实现的代理称为Java的动态代理。
Java的动态代理目前只能代理接口,依靠Java的反射机制和动态生成class的技术。
Java的动态代理还是实现AOP的一个重要手段。
代理大致被分为以下几种:
虚代理:根据需要来创建开销很大的对象,该对象只有在需要的时候才会被真正创建。
远程代理:用来在不同的地址空间上代表同一对象,这个不同的地址空间可以是在本机,也可以在其他机器上。java里最典型的就是RMI技术。
copy-on-write代理:在客户端操作的时候,只有对象确实改变了,才会真的拷贝(克隆)一个目标对象,算是虚代理的一个分支。
保护代理:控制对原始对象的访问,如果有需要,可以给不同的用户提供不同的访问权限。
Cache代理:为那些昂贵操作的结果提供临时的存储空间,以便多个客户端可以共享这些结果。
防火墙代理:保护对象不被恶意用户访问和操作。
同步代理:使多个用户能够同时访问目标对象而没有冲突。
智能指引:在访问对象时执行一些附加操作。比如,对指向实际对象的引用计数。第一次引用一个持久对象时,将它装入内存。
代理类和委托类实现相同的接口。代理类中引用了委托类来实现接口中的方法,在客户端可以使用代理类。
把自己实现的代理模式称为Java的静态代理。缺点是一旦接口发生变化,代理类和委托类都要改变。
把Java内建的对代理模式支持的功能来实现的代理称为Java的动态代理。
Java的动态代理目前只能代理接口,依靠Java的反射机制和动态生成class的技术。
Java的动态代理还是实现AOP的一个重要手段。
发表评论
-
访问者模式Visitor预留通路,回调实现
2014-03-13 16:55 319表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各 ... -
桥接模式Bridge分离抽象和实现
2014-03-13 16:55 431将抽象部分与它的实现部分分离,使它们都可以独立地变化。 桥接 ... -
职责链模式Chain of Responsibility分离职责,动态组合
2014-03-12 17:25 309使多个对象都有机会处 ... -
装饰模式Decorator动态组合
2014-03-12 17:00 245动态地给一个对象添加 ... -
解释器模式Interpreters分离实现,解释执行
2014-03-12 16:27 259给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解 ... -
享元模式Flyweight分离与共享
2014-03-12 13:20 271运用共享技术有效地支持大量细粒度的对象。 安全实体:就是被系 ... -
备忘录模式Memento保存和回复内部状态
2014-03-11 17:47 404在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外 ... -
状态模式State根据状态来分离和选择行为
2014-03-11 17:20 355允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改 ... -
策略模式Strategy分离算法,选择实现
2014-03-11 15:26 387迪米特法则:LoD,最少知识原则。 如果两个类不必彼此直接通信 ... -
模板方法模式Templete Method 固定算法骨架
2014-03-11 11:15 509定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法 ... -
组合模式Composite统一叶子对象和组合对象
2014-03-07 18:18 286将对象组合成树型结构以表示“部分-整体”的层次结构。组合模式使 ... -
迭代器模式Iterator 控制访问聚合对象中的元素
2014-03-07 17:57 387提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该 ... -
命令模式Command 封装请求
2014-03-07 16:26 336将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数 ... -
观察者模式Observer订阅模式-触发联动
2014-03-07 11:19 342定义对象间的一种一对 ... -
中介者模式Mediator 封装交互
2014-03-06 00:19 346用一个中介对象来封装 ... -
原型模式Prototype 克隆生成对象
2014-03-06 00:19 542用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 ... -
生成器模式Builder 分离整体构建算法和部件构造
2014-03-06 00:19 278将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建 ... -
抽象工厂模式 Abstract Factory 选择产品簇的实现
2014-03-06 00:20 369工厂方法模式或简单工 ... -
工厂方法模式Factory Method延迟到子类来选择实现
2014-03-05 18:12 891定义一个用于创建对象 ... -
单例模式Singleton某个类只需要一个类实例
2014-03-05 16:46 395保证一个类只有一个实例,并提供一个访问它的全局访问点。 懒汉 ...
相关推荐
设计模式C++学习之代理模式(Proxy)
2、代理模式(Proxy) 用意:为其它对象提供一种代理以控制对这个对象的访问
为其他对象提供一个代理以控制对这个对象的访问。
代理模式是一种设计模式,其定义是为其他对象提供一种代理以控制对这个对象的访问。 代理模式的核心在于提供一个代理来控制和限制对另一个对象的直接访问。这种模式通常用于以下几种情况: 远程代理:当对象位于...
在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。
为其他对象提供一种代理以控制对这个对象的访问 结构: 由三部分组成 1.RealSubject(真实对象): 真正会调用到的对象 2.Proxy(代理对象): 代理真实对象的地方 3.Subject(共同点): 代理对象和真实对象的共同点 使用...
java.proxy,代理模式源码,设计模式,apache开源项目源码commons-proxy-1.0-src 各种代理模式操作的工具类源码以及代理模式案例源码,你会从中得到意想不到的效果! apache开源组织开发的开源项目源码,其优良的代码...
代码仅供参考学习 。
C#面向对象设计模式纵横谈(13):Proxy 代理模式(结构型模式)
Android设计模式之代理模式(Proxy Pattern)
此文比较详细讲述了Nginx与proxy共同搭建反向代理服务的配置方法
NULL 博文链接:https://wy649898543.iteye.com/blog/1431997
代理模式java代码 Proxy(4) 开发宝典......
C#面向对象设计模式纵横谈(13):Proxy 代理模式(结构型模式) (Level 300)
JAVA Proxy 代理模式
Proxy代理模式的经典实例(很有面向对象思想哦)。快速学会Proxy代理模式.
在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要资源... 这是第13节:结构型模式Proxy代理模式
动态代理类例子proxy动态代理类例子proxy动态代理类例子proxy
Proxy Pattern 代理模式 采用JAVA实现,可以下载看看。