1.代理模式:为一个对象提供一个替身,以控制对这个对象的访问,通过代理对象访问目标对象,这样的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能
2 . 被代理的对象可以是远程对象,创建开销大的对象或需要安全控制的对象
3.代理模式的作用
(1) 中介作用:代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了中介的作用和保护了目标对象的作用。
(2) 职责清晰作用: 可以使真实角色的操作更加纯粹,不用去关注一些公共的业务。公共也就交给代理角色,实现了业务的分工。
4.代理模式的组成(角色分析):
抽象角色: 一般使用接口或抽象类
真实角色: 被代理的角色[目标对象]
代理角色: 代理真实角色,代理真实角色后,我们一般会做一些附属操作[代理对象]
5.代理模式的变体
防火墙代理:内网通过代理穿透防火墙,实现对公网的访问
缓存代理:当请求图片文件等资源时,先到缓存代理取,如取到资源则OK,否则取不到再到公网或者数据库取,然后缓存
远程代理:远程对象的本地代表,通过它可以把远程对象当本地对象调用,远程代理通过网络和真正的远程对象沟通信息;
同步代理:主要使用在多线程编程中,完成多线程间同步工作