关于decorator

不知道各位有没有一定的理解,可以说说么

先说说你的理解

那我先说说我的理解吧。
以前以为自己理解了Decorator,可是后来看了jive中的Decorator,就比较不清除了。jive中使用了Composite与Decorator的组合,这一点我不能理解。
ForumMessageFilter继承了ForumMessage,同时又封装了他的一个对象。这样作有什么好处呢?

Decorator与proxy模式结构非常相似。如果说Decorator是一个过滤器的话,是不是又太简单了?

油漆工啊,呵呵 。。。就是在原来的东西上再刷一层东西,包装一下啊,让它更漂亮点,功能在多点。
其实看看java的io,你就会很清楚。动态增加功能,可以使你的余地很大。关于目的和解释,板桥的文章写的很清楚了

不啊,我觉的不会有这么简单。仅仅是一个过虑的话,就不用与Composite模式联合使用了。

过滤?我说的是动态增加功能。
为什么一定要和Composite一起用啊,模式之间可以一起使用,但是要根据实际的情况,没有说什么模式一定要和什么模式一起用的说法,只是有些模式的关系比较密切,经常回一起用,但并不是一定的。
也许你说的仅仅是一个环境中的解决方法。

当然不是啊,你看看jive和设计模式书上的文章,全部是合在一起使用的。你也看看jdon中的文章也是一样的。

在看看设计模式:
Composite:可以将decorator看做退化的,仅有一个组件的组合。然后装饰器的目的是给对象添加一些额外的职责,他的目的不在于对象聚集。

我没有看出来composite一定要和decorator一起用啊。如果一定要一起用的话,那还是变成另外的一个模式,因为他们的关系是那么紧密,不可分离,可以作为一个原子模式。

当然他们可以不在一起使用,当然也叫decorator,稍有些编程基础的人也会用出这种decorator。

实现的好坏要看组合的威力。你仅仅单一了解一种模式,而不会组合起来使用的话,就太片面了!

呵呵。。。
看来是曲解了,我上面谈论的是不一定要一起使用,不是说一定要单独使用,看来老兄接触模式的时间好象不是太久啊。什么模式和什么模式结合一起用是要看情况的,不是为了模式而用模式。模式是前人的经验,我们使用模式不能按部就班,还是要按照实际的情况具体的分析。

不知道你是否理解 “给类动态的添加一些额外的功能”,这个意思。这个才是decorator主要目的

我当然没有你这个老鸟熟练啦,所以要拿出来向你请教了。

“给类动态的添加一些额外的功能”这个我还是能理解的。大部分情况下,我要是用decorator也是向你说得一样那么做。只是后来看了jive,又回头看了看书,一种新的思路出来了。就我感觉,合在一起用会更清晰一些,我得个人感觉而已。

:),我还不老,何为老鸟

切磋一下,捣浆糊了

^_^ , 我也不小了,当然不想当菜鸟。

C一下!

能举例说明么