大话设计模式之代理模式

简介:

1,A想要和C通信,但是A却不是直接和C通信,而是先经过B,让B和C通信。即A是被代理者,B是代理者,C是目标对象。

2,当A使用代理B与C通信时,可以在B端增加一些功能,比如:在B上做一些安全控制和预处理。

3,代理模式的结构图中,代理类(B)和真实的类(A)都实现自同一个抽象接口,该抽象接口中声明了各个方法。真实类implements 该接口后,实现了该接口中的每一个方法。

4,代理类(B)(也implements该抽象接口,同时代理类还持有一个被代理类(A)的对象。代理类是如何实现接口中的方法的呢?----直接是借用被代理类的对象去调用相应的方法来实现。也即,代理类中的方法不是真正地实现,而是通过持有的被代理类的对象,使用被代理类的对象调用被代理类中的方法来实现的。

5,这样,在代理类B的方法中,可以先做一些控制和预处理,再调用被代理类的方法 ,构成了代理类的方法。

本文转自hapjin博客园博客,原文链接:http://www.cnblogs.com/hapjin/p/4984654.html,如需转载请自行联系原作者

相关文章
|
3月前
|
设计模式 C#
设计模式之代理模式(Proxy)
设计模式之代理模式(Proxy)
|
4月前
|
设计模式 XML JSON
二十三种设计模式全面解析-代理模式进阶篇:揭秘远程代理
二十三种设计模式全面解析-代理模式进阶篇:揭秘远程代理
|
3月前
|
设计模式
设计模式-代理模式
设计模式-代理模式
|
3月前
|
设计模式 数据安全/隐私保护
设计模式之代理模式
设计模式之代理模式
|
4月前
|
设计模式 缓存
二十三种设计模式全面解析-代理模式(Proxy Pattern)详解:探索隐藏于背后的力量
二十三种设计模式全面解析-代理模式(Proxy Pattern)详解:探索隐藏于背后的力量
|
1月前
|
设计模式 JavaScript Java
设计模式——代理模式
一文讲清楚设计模式中的代理模式
21 0
设计模式——代理模式
|
1月前
|
设计模式 Java 数据库连接
【重温设计模式】代理模式及其Java示例
【重温设计模式】代理模式及其Java示例
23 2
|
1月前
|
设计模式 uml
设计模式之代理模式
设计模式之代理模式
|
5月前
|
设计模式 安全 Java
设计模式系列教程(06) - 代理模式
设计模式系列教程(06) - 代理模式
29 0
|
1月前
|
设计模式 Arthas Java
【设计模式】代理模式
【设计模式】代理模式