1. 什么是代理模式?
代理模式是GOF四人组提出的23中设计模式之一;
若一个类T不能或不适合让另一个类C直接访问,或者,类T在不修改自身源代码的前提下,想增强业务逻辑功能,此时,就可以通过一个中间类P来完成这些需求。那么,这个中间类P成为代理类,类T成为目标类.
也就是说,客户类C若想与目标类T打交道,需要通过代理类P来完成。即客户类C只能与代理类P发生直接的联系。代理类P的对象可以代表目标类T与客户类打交道。
2.代理模式的角色?
* 目标类
* 代理类
* 客户类
3.代理模式的分类?
1) 为了保护和隐藏某一个类,可以使用代理模式;
2) 在不修改某个类的源代码的前提下,为了增强某一个类的功能,可以使用代理模式.
4. 代理模式的分类?
根据代理类创建的时间的不同,或者说,根据代理关系确立的时机的不同,可以将代理模式分为两类:
(1) 静态代理
(2) 动态代理
动态代理又根据实现技术的不同,可以分为若干类,例如:
(1) JDK的动态代理
(2) CGLIB动态代理
(3) Javassist动态代理
.............