代理模式
-
定义和类型
- 定义:为其他对象提供一种代理,以控制对这个对象的访问
- 代理对象在客户端和目标对象之间起到中介的作用
-
适用场景
- 增强对象
-
优点:
- 代理模式能将代理对象与真实被调用的目标对象分离
- 一定程度上降低了系统的耦合度,扩展性好
- 保护目标对象
- 增强目标对象
-
缺点:
- 代理模式会造成系统设计中类的数目增加
- 在客户端和目标对象增加一个代理对象,会造成请求处理速度变慢
- 增加系统的复杂度
-
扩展:
- 静态代理
- 动态代理
- CGLib代理
-
演示地址:
- https://github.com/steins4/designpattern/tree/master/src/main/java/com/steins/designpattern/structural/proxy