常见代理模式
实现方式
静态代理、动态代理
静态代理
继承方式
聚合方式
小结
静态代理中,聚合方式比继承方式更好,继承的方式一旦有新的代理功能要增加,则会需要创建新的子类去继承,功能越多,子类越多,最终不好维护。聚合方式就相对更灵活,虽然新加功能也需要新加代理类去实现功能,但是代理类之间的顺序可以灵活调整。但是两种静态代理都有局限,只能代理某个具体的对象,不能通用代理。比如CarTimeProxy只能代理Car,不能代理火车、飞机等。所以动态代理出现了。
动态代理
JDK反射实现
CGLIB动态代理
学习资料
视频:https://www.imooc.com/learn/214
代码:https://gitee.com/wirechen/study-designMode-proxy