[Design] Proxy Pattern
结构模式
结构模式描述如何将类或者类的对象结合在一起形成更大的结构。
结构模式描述两种不同的东西:类与类的实例。结构模式可以分为:类的结构模式和对象的结构模式两种。
类的结构模式:类的结构模式使用继承来把类、接口等组合在一起,以形成更大的结构。类的结构模式是静态的,比如类形式的适配器模式。
对象的结构模式:对象的结构模式描述怎么样把不同类型的对象组合在一起,以实现新的功能的方法。对象的结构模式是动态的。比如代理人模式。
--------------------------------------------------------------------------------------
代理(Proxy)模式
代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。顾名思义,所谓代理就是一个人或者一个机构代表另一个人或者一个机构采取行动。
代理结构及角色
1.抽象主题角色
声明了真实主题和代理主题的共同接口,这样一来任何可以使用真实主题的地方都可以使用代理主题。
2.代理主题角色
代理主题角色内部含有对真实主题的引用,从而可以在任何时候操作真实主题对象。通常在将客户端的请求传给真实主题之前或之后,都要执行某个操作,而不是单纯的将调用传递给真实主题对象。
3.真实主题角色
定义了代理角色所代表的真实对象。