黑马程序员技术交流社区
标题:
已删
[打印本页]
作者:
程序猿
时间:
2012-5-31 21:02
标题:
已删
本帖最后由 欧阳梦南 于 2012-9-3 00:09 编辑
已删了啊
作者:
whocases
时间:
2012-5-31 21:14
装饰器模式关注于在一个对象上动态的添加方法,然而代理模式关注于控制对对象的访问。用代理模式,代理类可以对它的客户隐藏一个对象的具体信息。因此,当使用代理模式的时候,我们常常在一个代理类中创建一个对象的实例。当我们使用装饰器模式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。希望这么回答你能明白些
作者:
刘伯阳
时间:
2012-5-31 21:25
装饰器模式关注于在一个对象上动态的添加方法,然而代理模式关注于控制对对象的访问。换句话说,用代理模式,代理类可以对它的客户隐藏一个对象的具体信息。因此,当使用代理模式的时候,我们常常在一个代理类中创建一个对象的实例。并且,当我们使用装饰器模式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。
我们可以用另外一句话来总结这些差别:使用代理模式,代理和真实对象之间的的关系通常在编译时就已经确定了,而装饰者能够在运行时递归地被构造。
作者:
张少威
时间:
2012-5-31 21:48
简洁点说:
装饰和代理的实现方式都是通过持有一个相关对象来实现的。
装饰,是给现有对象添加新的功能。
代理,是改变被代理对象的现有功能的实现方式。
装饰,帮你做你做不了的。
代理,以另外一种方式替你做你能够做的。
作者:
江南
时间:
2012-5-31 22:29
装饰是构造函数参数传递进行增强当想要对已有的对象进行功能增强时,
可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。
如果为了某个功能而产生子类(使用继承的代理类)那么那个体系是非常臃肿的
装饰模式比继承要灵活。避免了继承体系臃肿。
而且降低了类于类之间的关系。
装饰类因为增强已有对象,具备的功能和已有的是相同的,只不过提供了更强功能。
作者:
程序猿
时间:
2012-5-31 23:02
江南 发表于 2012-5-31 22:29
装饰是构造函数参数传递进行增强当想要对已有的对象进行功能增强时,
可以定义类,将已有对象传入,基于已 ...
听你们一说 我明白多了~
作者:
闾丘日月
时间:
2012-6-1 17:43
我一直也不太清楚,感谢楼上几位的回答。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2