ahnungslosss 发表于 2008-2-23 03:39

请教java中 entwurfsmuster Strategie,Dekoriere,是什么?

请教,谢谢

大镖客 发表于 2008-2-23 10:39

设计模式当中的Strategy和Decorator。Decorator好像又叫做“Wrapper"吧,属于抽象类的扩展应用,模式有点类似。

lovely1234 发表于 2008-2-26 23:22

这些都是用于结构化设计的方式。EntwurfMuster Strategie其实就是一系列结构化设计的模板,就是告诉你,你要做的东西如果符合某某某特征,就可以用某某模板。这些都是面向对象的思考模式。打个比方,EntwurfMuster 里面的 Singleton, 如果你需要一个对象,他在程序中就只能存在一个实例,哦,这样说不好,换个说法,如果你需要一个对象,你想在程序中随便什么地方都可以用,而且随便什么时候用的时候都是用的同一个实例,就像一些Static的变量一样,那么你的这个对象就符合了Singleton的特征,你就可以用Singleton 模板来实现,其实说白了也是通过一个Static变量来管理了这个实例,只不过标准化了而已。类似的还有很多。用Muster的目的就是为了让我们的程序更加标准。。。。呵呵,别人也容易理解,自己也容易扩展。。。。
Dekorierer强调了类的层次结构,属于StructureMuster里面的东西。无非就是父类子类的继承关系。我们通常用的Interface, ClassBase等等,就属于这样的结构层次。Interface用于告诉别人,你要使用我的话,我需要要调你的某个函数,你给我实现好了,这些函数就是通过Interface定义出来的。不知道你知不知道Callback函数,其实Interface就是C++化了的回调函数。 在Interface基础上呢,很多东西实现起来又有很多相似之处,或者你想提供给用户一些实现的基本工具,那么你就可以实现一个ClassBase。基于这个类,把相同的部分全部实现好,再提供给用户一些工具函数,帮助用户设计。这样用户就可以基于ClassBase简化设计了。在这ClassBase上呢,有可能针对某一领域或者某一应用,还有好多通用性的东西,那就再来一层。慢慢修饰。。。不经意之间,你就使用了Dekorierer这个结构。。。。

[ 本帖最后由 lovely1234 于 2008-2-26 23:24 编辑 ]

ahnungslosss 发表于 2008-2-27 02:49

十分感谢lovely1的详细解释!!!!!

shfaye 发表于 2008-2-27 05:50

http://de.wikipedia.org/wiki/Adapter_%28Entwurfsmuster%29

http://de.wikipedia.org/wiki/Entwurfsmuster

这相信应该非常明了了.

GOOGLE   entwurfsmuster WIKI
                  WRAPPER(DEKORIEREN) WIKI

ahnungslosss 发表于 2008-2-27 13:25

多谢shfave!!
页: [1]
查看完整版本: 请教java中 entwurfsmuster Strategie,Dekoriere,是什么?