1. 概述 为其它对象提供一种代理以控制对这个对象的访问。 解决的问题:如果直接访问对象比较困难,或直接访问会给使用者或系统带来一系列问题。这样对于客户端(调用者)来说,就不需要直接与真实对象进行交互,解除了调用者与真实对象的耦合。 2. 模式中的角色 2.1 抽象实体(Subject):定义了真实实体(RealSubject)和代理(Proxy)的公共接口,这样就在任何时候使用真实实体(RealSubject)的地方使用代理(Proxy)。 2.2 代理(Proxy):保存一个引用使得代理可以直接访问真实实体,并提供一个与Subject的接口相同的接口,这样代理就可以代替真实