由这个代理对象控制对该对象的访问

什么是代理模式

代理模式就是为一个对象提供一个代理对象,由这个代理对象控制对该对象的访问。

理解代理模式,可以对照生活中的一些具体例子,比如房产中介、二手车交易市场、经纪人等。

为什么要用代理模式

通过使用代理模式,我们避免了直接访问目标对象时可能带来的一些问题,比如:远程调用,需要使用远程代理来帮我们处理一些网络传输相关的细节逻辑;可能需要基于某种权限控制对目标资源的访问,可以使用保护代理等。

总的来说,通过是用代理模式,我们可以控制对目标对象的访问,可以在真实方法被调用前或调用后,通过代理对象加入额外的处理逻辑。

代理模式分类

代理模式分为静态代理和动态代理。动态代理根据实现不同又可细分为JDK动态代理和cglib动态代理。

静态代理是由程序员创建或工具生成代理类的源码,再编译代理类。所谓静态也就是在程序运行前就已经存在代理类的字节码文件,代理类和委托类的关系在运行前就确定了。

动态代理是在实现阶段不用关心代理类,而在运行时动态生成代理类的。

静态代理

以房哥买房子为例,用代码实现静态代理。

猜你喜欢

转载自www.cnblogs.com/55hyh/p/11932898.html