文章目录
-
- 意图
- 什么时候使用代理
-
-
- 真实世界类比
-
- 代理模式的实现
- 代理模式的优缺点
亦称:Proxy
意图
由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。
什么时候使用代理
1、服务对象过于庞大:当我们需要使用的服务是一个重量级对象时,我们不希望一开始就创建这个对象,这样对象会一直运行然后消耗资源。这时我们就可以使用代理模式,通过一个代理对象,在每次使用时才创建对象,在使用完进行销毁。这个时候代理就相当于原始服务对象的一个占位符,当需要使用时再来调用原始服务对象。
2、使用服务需要进行额外的处理:很多时候我们使用服务需要增加额外的处理,比如在自己的业务上增加统计,日志,监控等功能。或者在引入外部的库和代码前后加入自己的业务逻辑