用途

为其他对象提供一种代理以控制对这个对象的访问,增加一个中间代理,避免直接访问对象。

要素

  • 接口A
  • 被代理的类a:接口A的具体实现类
  • 代理类b:接口A的具体实现类,内部组合了类a,必要时将a实例化
  • 示例图:

代理模式.jpg

优缺点

  • 可用于引用远程对象
  • 根据需要创建代销很大的对象