代理模式之静态代理
为什么要学习代理模式?
因为这是SpringAOP的底层!
代理模式分类:
1.静态代理
2.动态代理
静态代理:
角色分析:
抽象角色:一般会使用接口或者抽象类来解决!
真实角色:被代理的角色!
代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作!
客户:访问代理对象的人!
代码步骤:
接口:
真实角色:
代理角色:
客户端访问代理角色:
静态代理好处:
可以使真实角色操作更加纯粹,不用去关注一些公共业务
公共业务就交给了代理角色,实现了业务的分工
公共业务发生能扩展的时候,方便集中管理
缺点:
一个真实角色就会产生一个代理角色,代码量会翻倍,开发效率从变低
深刻理解:
UserService:
UserServiceImpl:
UserServiceProxy:
Client:
AOP,面向切面编程