代理模式与装饰模式区别

代理模式主要是控制对某个特定对象访问,而装饰模式主要是为了给对象添加行为

代理模式和装饰模式非常类似,甚至代码都类似。二者最主要的区别是:

  • 代理模式中,代理类对被代理的对象有控制权,决定其执行或者不执行。
  • 而装饰模式中,装饰类对代理对象没有控制权,只能为其增加一层装饰,以加强被装饰对象的功能,仅此而已。