Spring代理模式
静态代理
- 抽象角色:一般会使用接口或者抽象类来解决
- 真实角色:被代理的角色
- 代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作
- 客户:访问代理对象的人
优点
- 可以使真实角色的业务更加纯粹,不用去关注一些公共的业务
- 公共业务交给代理,实现业务分工
- 公共业务发生扩展时,方便集中管理
缺点
一个真实角色产生一个代理角色,代码量会翻倍,开发效率会降低
总结
代理模式就是如果要在原有的业务上增加功能,抛给代理去做!
动态代理
需要了解两个类
- Proxy代理
- InvocationHandler调用处理程序并返回实例
优点
- 一个动态代理类代理的是一个接口,一般就是对应一类业务
- 一个动态代理类可以代理多个类,只要实现类同一接口即可!