设计模式-代理模式与装饰模式的区别

  1. 代理模式中,代理类对被代理的对象有控制权,决定其执行或者不执行。
  2. 装饰模式中,装饰类对代理对象没有控制权,只能为其增加一层装饰,以加强被装饰对象的功能
  3. 比如一个Plane类它的fly()方法中飞行速度是300m/s,那能不能实现500m/s的飞机对象呢?有装饰模式就可以实现。700m/s的呢?呵呵,装饰两次就行了。不是定义两个装饰器类,而是定义一个装饰器能够增速200m/s,然后装饰两次。
  4. 装饰模式:强调:增强
  5. 代理模式:强调:限制

猜你喜欢

转载自www.cnblogs.com/jiangtao1218/p/9498364.html