Java设计模式之代理模式
1.
代理模式(Proxy)的定义:
代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。【阎宏:《Java与模式》】
一个代理对象通常提供了一个接口,这个接口与目标对象提供的接口几乎完全相同。当其他对象向代理对象发出请求时,代理对象将这些请求转发给目标对象。
2.代理模式的应用场景举例
代理模式的经典应用是处理大型图像的加载问题。一个应用程序执行时,如果所需要的大图像不需要立即显示,则可以让代理对象仅仅把程序所需要的小图像(比如缩略图)加载到内存,这样,我们就得到了一个图像代理,甚至只是一小段文字。
在很多经典的Java开源框架中,代理模式的应用也非常广泛。比如在Spring
AOP中,在不修改既有源代码的前提下,为了给目标方法添加事务处理,就是通过代理模式来增强已有方法的功能;比如在Hibernate中,当A实体和B实体之间存在关联关系时,Hibernate默认启用延迟加载,当系统加载A实体时,A实体关联的B实体并未被加载出来,A实体所关联的B实体全部是代理对象,只有等到A实体真正需要访问B实体时,系统才会去数据库里抓取B实体所对应的记录。
3. 类图
网速太慢,先写到这!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。