代理模式与装饰模式的区别

2017-04-21  本文已影响329人  风亡小窝

代理模式:

  1. 注重控制对方法的访问,代理者可以决定是否调用被代理对象的方法。
  2. 应在构造方法中实例化被代理的对象。不应让访问者知道,你代理了哪个对象。

装饰者模式:

  1. 注重为方法添加额外的行为,装饰者一定会调用被装饰对象的方法的。
  2. 可以动态指定被装饰的对象,具体做法是,装饰者类应该包含一个以被装饰者对象为参数的构造函数。

装饰者模式的最佳例子就是Java中的IO流

上一篇 下一篇

猜你喜欢

热点阅读