10、设计模式之代理(Proxy)模式

什么是代理模式

代理模式是对象的结构模式,为其余对象提供一种对象以控制对这个对象的访问。设计模式

代理模式的结构图以下:(源自大话设计模式)安全

image

 

Subject:定义了RealSubject和Proxy的公共接口,这样在任何使用RealSubject的地方均可以使用Proxy设计

代理模式就是在代理类中持有RealSubject的对象句柄,这样调用接口时,都执行RealSubject的对应方法,以达到封装内部控制对象的目的并起到代理的做用。代理

代理模式的应用

第一种是远程代理,也就是为一个对象在不一样的地址空间(跨机器)提供局部表明,这样能够隐藏一个对象存在于不一样地址空间的事实。指针

第二种是虚拟代理,是根据须要建立开销更大的对象,经过它来存放实例化须要很长时间的真实对象。 好比打开网页是的图片一步加载,加载以前网页中预留的图片的白框就是图片的代理。对象

第三种是安全代理,用来控制真实对象访问时的权限,通常用于对象应该有不一样的访问权限的时候。blog

第四种是智能指针,他是真实对象的一种代理。接口

相关文章
相关标签/搜索