Decorator模式(孙悟空的七十二变) ( 积分: 100 )

鹿

鹿鼎公

Unregistered / Unconfirmed
GUEST, unregistred user!
无语凝咽~~~~~~~~~~~
虎躯一震,三分走人
 
B

Beyondbill

Unregistered / Unconfirmed
GUEST, unregistred user!
To yanyandt2
<数据敏感组件>和<TActionList>并不是模式,但他们实现的机制确是一个很好的模式,别以为看到一点,就以为看到一个面了
 
Y

yanyandt2

Unregistered / Unconfirmed
GUEST, unregistred user!
来自:鹿鼎公, 时间:2005-4-23 2:06:20, ID:3054417
无语凝咽~~~~~~~~~~~
虎躯一震,三分走人
哈哈,你看你就知道是混天涯的了~~~
 
S

SeekMyself

Unregistered / Unconfirmed
GUEST, unregistred user!
L

lich

Unregistered / Unconfirmed
GUEST, unregistred user!
没有什么适合不适合的,很容易做出来,就是适合,很费劲,就是不适合
设计模式是一种套路,是一种总结出来的设计方法和思路,
楼主的例子看起来就是面向对象中,最简单的多态示例而已,
上升到模式的水平,还把大圣请出来,是否小体大作了?
 

方竹

Unregistered / Unconfirmed
GUEST, unregistred user!
凑一下热闹[:D]:
>>通常释放对象不直接调用对象的Dertory(),而是定义一个free()方法,然后在free中调用Dertory()来实现对象的释放,你不是很能吗?说说这个用了什么模式
>>至于你说的那个不 destroy,而用 free,那个叫设计模式吗?
[:D]好象真的是一种模式,看看<<DELPHI高手突破>>
 

张鸿林

Unregistered / Unconfirmed
GUEST, unregistred user!
如果只用delphi的rad
我还不如使用vb,pb
 
鹿

鹿鼎公

Unregistered / Unconfirmed
GUEST, unregistred user!
来自:yanyandt2, 时间:2005-4-23 10:49:30, ID:3054594
来自:鹿鼎公, 时间:2005-4-23 2:06:20, ID:3054417
无语凝咽~~~~~~~~~~~
虎躯一震,三分走人
哈哈,你看你就知道是混天涯的了~~~
------俺震的对象是你!
想想为啥大家都错,只有你对呢?
 

特尔斐

Unregistered / Unconfirmed
GUEST, unregistred user!
呵呵,楼主请出大圣虽然有点小题大作,但对于楼上某位大虾的
“我特别佩服那些在delphi里谈模式的人:)
delphi里的接口主要是为了com的,与java里的接口已经不一样了
况且,以delphi的实现方式来谈模式,太费劲了吧....”
此番高论,倒是真的有些佩服,不佩服不行啊,后生可畏。真的可畏是好事,但不要让人觉得可笑啊。
注:本人基本同意网事如风的观点。
 
Z

zhtx

Unregistered / Unconfirmed
GUEST, unregistred user!
请教yanyandt2一下,按您的意思好像只有像java那样支持接口的语言才能谈设计模式,是这样吗?
 
B

bluesaga

Unregistered / Unconfirmed
GUEST, unregistred user!
模式其实是人们对经验的总结,其实是方法论解决问题的思路。
现在的主流语言都支持面向对象的种种特性,而模式中也运用了这些特性,例如接口和继承。
模式是为了更好的OO,更好的解决实际问题
 
G

gmsft

Unregistered / Unconfirmed
GUEST, unregistred user!
来自:dedema, 时间:2005-4-21 16:38:03, ID:3052670
路过.................看一看的.实现接口而己的.
不仅仅是实现接口,Decorator模式实现了接口的功能扩展。
 
S

SS2000

Unregistered / Unconfirmed
GUEST, unregistred user!
哈哈,笑死我了,好久没有(2年了)来了,现在忍不住说两句。
设计模式:可复用面向对象软件的基础
这个确实是和具体语言没有关系的,况且这本书的例子可没有用.net,java,
都是用的C++,呵呵,不知道为什么变成了只是.net,java能用模式,而Delphi
不能?请问yanyandt2,不知C++适合不?要是C++不适合,得把四人帮给气死。
凡是面向对象的语言,都适合设计模式,这是肯定的。我完全同意网事如风,
对于yanyandt2,我只能表示深深的遗憾。
之所以说这些,是因为最近一直在用模式重构原来的软件,纯Delphi的。
目前用到的模式还不是很多,主要用了 composite,decorator,facade,
observer,state,iterator,模式,目前创建型模式还一个未用,继续准备用
strategy,bridge模式。
模式确实很好,和语言没有关系,但是具体实现的时候,和语言还是有关系,
比如Delphi不支持多重继承,没有静态函数,那么在四人帮说的某些模式实现
时,就需要变化一下,因为他们的例子全是C++的。
在此,我只能再次对yanyandt2表示我最最深的遗憾。
 
Y

yanyandt2

Unregistered / Unconfirmed
GUEST, unregistred user!
你也说了:
模式确实很好,和语言没有关系,但是具体实现的时候,和语言还是有关系,
比如Delphi不支持多重继承,没有静态函数,那么在四人帮说的某些模式实现
时,就需要变化一下,因为他们的例子全是C++的。
没错,delphi谈模式没问题,我用锤子也能杀蚊子啊,就是别扭点么,有什么。
delphi的优势是模式?
 
Y

yanyandt2

Unregistered / Unconfirmed
GUEST, unregistred user!
来自:zhtx, 时间:2005-4-26 11:26:09, ID:3057466
请教yanyandt2一下,按您的意思好像只有像java那样支持接口的语言才能谈设计模式,是这样吗?
我不是说只有JAVA能谈,而是JAVA容易点。可别扯上C++,C++与delphi差别太多了。
就好像我们开发一个数据库程序,为什么选择delphi,不用vc++?用vc++当然也能做,
但是没delphi快,最后的效果都一样,为什么不选更方便的?
工具有很多种,别把一种用到死,解决问题的时候,要选择最适合的工具,发挥这个
工具的优势才行。
 
B

Beyondbill

Unregistered / Unconfirmed
GUEST, unregistred user!
真不知道&quot;INTERFACE详解&quot;的作者在听到某些人在发表接口只是为COM生存理论的时候,会是什么感想,难道&quot;INTERFACE详解&quot;中的Interface例子都是COM?
 
Z

zhtx

Unregistered / Unconfirmed
GUEST, unregistred user!
来自:yanyandt2, 时间:2005-4-26 23:10:29, ID:3058269
来自:zhtx, 时间:2005-4-26 11:26:09, ID:3057466
请教yanyandt2一下,按您的意思好像只有像java那样支持接口的语言才能谈设计模式,是这样吗?
我不是说只有JAVA能谈,而是JAVA容易点。可别扯上C++,C++与delphi差别太多了。
那么我再请教一下C++支持接口吗?JAVA支持多重继承吗?
 
Y

yanyandt2

Unregistered / Unconfirmed
GUEST, unregistred user!
来自:Beyondbill, 时间:2005-4-27 0:33:49, ID:3058310
真不知道&quot;INTERFACE详解&quot;的作者在听到某些人在发表接口只是为COM生存理论的时候,会是什么感想,难道&quot;INTERFACE详解&quot;中的Interface例子都是COM?
很遗憾,delphi中的接口就是这个目的的。其他语言的接口与delphi不同。因为
delphi中的接口是个对象,这么奇怪的接口只有COM才会需要。

那么我再请教一下C++支持接口吗?JAVA支持多重继承吗?
模式不是离开接口就不能活了,在C++中,完全可以用类来代替接口,接口是面向
对象的一个进步。
JAVA 不支持多重继承,但这和模式设计没关系。
 
Z

zhtx

Unregistered / Unconfirmed
GUEST, unregistred user!
yanyandt2:
&quot;没错,delphi谈模式没问题,我用锤子也能杀蚊子啊,就是别扭点么,有什么。
delphi的优势是模式?&quot;
请教:delphi谈模式别扭在哪里?
 
顶部