面向对象中装饰模式的理解

装饰模式

装饰模式就是在不改变接口的前提下,给对象添加新的功能。和继承模式的区别就是装饰模式不是针对整个类的,而不是针对单个对象

比如说,现在有一段程序A,其被B 和 C调用,这时候客户要求给B调用的A还需要添加功能D,但是C调用的A却不需要功能D,利用装饰模式给A进行装饰,这样A的本质并没有变,也不需要改变B和C,完美解决了这个问题。

其原理如图所示

装饰部分的程序位于接口与调用者之间,其调用了一个接口,并提供了修饰的方法,把这个方法传入一个新的接口,提供给调用者使用。这样对于上面说的程序B只需要修改一个初始化程序,就可以获得一个新的功能。

posted @ 2017-08-31 11:42  cjxltd  阅读(189)  评论(0编辑  收藏  举报