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