设计模式-04 设计模式-Proxy Pattern 代理模式
1.定义
代理模式 为一个对象提供一个代理或占位符,以便控制对该对象的访问和操作。代理可以拦截并修改对目标对象的调用,从而实现以下目的:
控制访问:限制对敏感或昂贵对象的访问,只允许经过身份验证或授权的用户访问。
延迟实例化:推迟创建昂贵或耗时的对象,直到真正需要时才创建。
提供额外的功能(日志记录,监控):在不修改目标对象的情况下,向目标对象添加额外的功能,例如日志记录、缓存或安全检查。
缓存功能:对于昂贵的对象,可以减少重复创建,减少调用真实对象的次数
+--------------+
| |
| Interface |
| |
+--------------+
|
v
+--------------+ +--------------+
| Proxy | ----|> | Concrete |
| Object | | Object |
+--------------+ +--------------+
2.内涵
代理模式 结构,代理模式包含以下角色:
- Sub