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