Android开发

代理模式与装饰模式

2018-09-17  本文已影响3人  Stay_Li

两者的具有很大的相似性,两者的UML类图实现 几乎相同,

772134-20160527201809334-849936322.png

特点

在不改变接口的前提下,动态扩展对象的访问。
  动态继承,让类具有在运行期改变行为的能力。 
  装饰模式,突出的是运行期增加行为,这和继承是不同的,继承是在编译期增加行为。
  强调:增强
在不改变接口的前提下,控制对象的访问。
  1.从封装的角度讲,是为了解决类与类之间相互调用而由此导致的耦合关系,可以说是接口的另外一个层引用。
  2.从复用的角度讲,可以解决不同类调用一个复杂类时,仅仅因较小的改变而导致整个复杂类新建一个类。
  代理模式,是类之间的封装和(某方面的)复用。
  强调:限制

比较总结

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

个人理解

上一篇 下一篇

猜你喜欢

热点阅读