代理模式的好处
-
可以使真实角色的操作更加纯粹,不用关注一些公共的业务
-
公共的业务交给代理角色,实现了业务的分工
-
公共业务扩展的时候,方便集中管理
缺点 -
一个真实角色就对应一个代理角色,代码量会翻倍,开发效率会变低
静态代理和动态代理的区别 -
静态代理在编译时就已经实现,编译完成后代理类是一个实际的class文件
-
动态代理是在运行时动态生成的,即编译完成后没有实际的class文件,而是在运行时动态生成类字节码,并加载到JVM中
-
其中动态代理又分为基于JDK的动态代理(接口)和基于CGLIB的动态代理(类)