Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
ChatGPT
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
GitHub工具
更多话题
关于decorator
02-09-14
庆次
不知道各位有没有一定的理解,可以说说么
banq
2002-09-14 15:04
先说说你的理解
cc
2002-09-17 09:27
那我先说说我的理解吧。
以前以为自己理解了Decorator,可是后来看了jive中的Decorator,就比较不清除了。jive中使用了Composite与Decorator的组合,这一点我不能理解。
ForumMessageFilter继承了ForumMessage,同时又封装了他的一个对象。这样作有什么好处呢?
Decorator与proxy模式结构非常相似。如果说Decorator是一个过滤器的话,是不是又太简单了?
浆糊
2002-09-17 10:04
油漆工啊,呵呵 。。。就是在原来的东西上再刷一层东西,包装一下啊,让它更漂亮点,功能在多点。
其实看看java的io,你就会很清楚。动态增加功能,可以使你的余地很大。关于目的和解释,板桥的文章写的很清楚了
cc
2002-09-17 10:59
不啊,我觉的不会有这么简单。仅仅是一个过虑的话,就不用与Composite模式联合使用了。
浆糊
2002-09-17 11:06
过滤?我说的是动态增加功能。
为什么一定要和Composite一起用啊,模式之间可以一起使用,但是要根据实际的情况,没有说什么模式一定要和什么模式一起用的说法,只是有些模式的关系比较密切,经常回一起用,但并不是一定的。
也许你说的仅仅是一个环境中的解决方法。
cc
2002-09-17 11:17
当然不是啊,你看看jive和
设计模式
书上的文章,全部是合在一起使用的。你也看看jdon中的文章也是一样的。
浆糊
2002-09-17 12:54
在看看
设计模式
:
Composite:可以将decorator看做退化的,仅有一个组件的组合。然后装饰器的目的是给对象添加一些额外的职责,他的目的不在于对象聚集。
我没有看出来composite一定要和decorator一起用啊。如果一定要一起用的话,那还是变成另外的一个模式,因为他们的关系是那么紧密,不可分离,可以作为一个原子模式。
cc
2002-09-17 14:46
当然他们可以不在一起使用,当然也叫decorator,稍有些编程基础的人也会用出这种decorator。
实现的好坏要看组合的威力。你仅仅单一了解一种模式,而不会组合起来使用的话,就太片面了!
浆糊
2002-09-17 14:54
呵呵。。。
看来是曲解了,我上面谈论的是不一定要一起使用,不是说一定要单独使用,看来老兄接触模式的时间好象不是太久啊。什么模式和什么模式结合一起用是要看情况的,不是为了模式而用模式。模式是前人的经验,我们使用模式不能按部就班,还是要按照实际的情况具体的分析。
浆糊
2002-09-17 14:59
不知道你是否理解 “给类动态的添加一些额外的功能”,这个意思。这个才是decorator主要目的
cc
2002-09-17 15:19
我当然没有你这个老鸟熟练啦,所以要拿出来向你请教了。
“给类动态的添加一些额外的功能”这个我还是能理解的。大部分情况下,我要是用decorator也是向你说得一样那么做。只是后来看了jive,又回头看了看书,一种新的思路出来了。就我感觉,合在一起用会更清晰一些,我得个人感觉而已。
浆糊
2002-09-17 15:40
:),我还不老,何为老鸟
切磋一下,捣浆糊了
cc
2002-09-17 16:08
^_^ , 我也不小了,当然不想当菜鸟。
C一下!
庆次
2002-09-19 10:51
能举例说明么
decorator装饰模式