938 B
938 B
代理模式 (Proxy Pattern) 详解
代理模式是一种结构型设计模式,它允许你提供一个代理对象来控制对另一个对象的访问。代理可以在不修改原始对象的情况下,增强或控制对它的访问。
核心概念
装饰器模式主要解决以下问题:
- 控制访问:代理可以决定是否允许客户端访问目标对象(如权限控制)。
- 增强功能:代理可以在调用目标对象前后添加额外逻辑(如缓存、日志、延迟加载)。
- 远程访问:代理可以代表远程对象(如RPC、数据库访问)。
- 虚拟代理:代理可以延迟创建开销大的对象(如图片懒加载)。
常见应用场景
- Spring AOP:通过动态代理实现切面编程
- MyBatis:Mapper接口的代理实现
- RPC框架:远程服务调用的本地代理
- 图片懒加载:先显示缩略图代理,点击再加载原图