代理模式:静态代理VS动态代理
- 1、定义
- 2、分类
- 2.1 静态代理
- 2.2 动态代理
- 3、使用场景
- 4、总结
💖The Begin💖点点关注,收藏不迷路💖
|
1、定义
代理模式是一种设计模式,通过代理对象控制对目标对象的访问。简而言之,就是“请人代劳”。
2、分类
2.1 静态代理
- 特点:编译时确定代理类,需与目标类实现相同接口。
- 优点:不修改目标对象即可扩展功能。
- 缺点:类多,维护成本高。
2.2 动态代理
- JDK动态代理:基于接口,运行时生成代理对象。
- Cglib代理:基于子类,无需接口,扩展性强。
3、使用场景
- 代码修改:不想直接修改原代码时。
- 隐藏控制:需要隐藏或控制访问某个类时。
- 权限管理:需要根据调用者提供不同权限时。
- 性能优化:如懒加载实例,提高访问速度。
4、总结
代理模式通过代理对象增强目标对象的功能,提高代码的灵活性和可维护性。静态代理适合简单场景,动态代理(JDK或Cglib)更灵活,适用于复杂需求。
💖The End💖点点关注,收藏不迷路💖
|