h****t 发帖数: 184 | 1 请问 stratage 和 bridge 的区别在哪啊? 我怎们看着他俩实现上没啥区别阿? |
t*****j 发帖数: 1105 | 2 同疑问。貌似他们的思想其实是一样的...就是把不同dimension的
variation decouple下。感觉好些pattern其实都是这个中心思想。
【在 h****t 的大作中提到】 : 请问 stratage 和 bridge 的区别在哪啊? 我怎们看着他俩实现上没啥区别阿?
|
k*********6 发帖数: 738 | 3 You are right. Bridge adds another variation.
【在 t*****j 的大作中提到】 : 同疑问。貌似他们的思想其实是一样的...就是把不同dimension的 : variation decouple下。感觉好些pattern其实都是这个中心思想。
|
z****e 发帖数: 54598 | 4 一个是structural
一个是behavioral
你说区别在哪? |
t*****j 发帖数: 1105 | 5 能多解释解释么,高人同学?
光看wiki还是理解不深。
【在 z****e 的大作中提到】 : 一个是structural : 一个是behavioral : 你说区别在哪?
|
d**********x 发帖数: 4083 | 6 bridge一般用来封装不同系统API吧,其实这东西的应用一般是静态的
stratagy指的是动态更换对象行为
【在 h****t 的大作中提到】 : 请问 stratage 和 bridge 的区别在哪啊? 我怎们看着他俩实现上没啥区别阿?
|
z****e 发帖数: 54598 | 7 顾名思义啊
结构模式其本意是在告诉你结构的差异和模式
而行为模式本意在于强调行为的差异和模式
bridge的本意是利用两个abstract的类,一个abstract class和一个interface
把相同的部分和不同的部分分离,然后用不同的类继承这两个东西来实现
以达到实现共同部分和不同部分拆分实现的目的
本意就是强调结构,如何实现,也就是具体的实现类是这个模式中最无关紧要的部分
结构上的不同,所有的结构模式都是在告诉别人结构上的差异
可以看作是一堆abstract class和interface的关系,具体怎么实现
其实样例代码如果不写那些具体的实现类可能还更清晰点
而strategy模式是行为,行为在java里面就是function
本身用一个interface就搞定了
几乎所有的behavioral模式的实现都很简单,不少是别人写好了,用就行了
比如iterator,所以这个模式最重要的其实是其实现类,至于调用interface的那个具
体类
那个无关紧要了,不要也没什么大不了的,只不过这个模式需要一个类来存放一些
state之类的
所以样例代码不好直接扔掉这个类,但是加上去就misleading了
所有的行为模式都是在强调行为上的差异,也就是具体实现方法的异同
也就是具体实现类上的差异
结构模式是给下属分派工作的人所关心的,再往上有各种构架模式,什么j2ee core
pattern
其差异就像是战术和战略层面的差异一样,自然的多数构架模式都能在结构模式中找到
对应的
甚至共通,你看wiki可以找到很多什么high-level,hierarchies,subsystem之类的词汇
行为模式是屌丝码工关心的,比如如何实现一个iterator,还有如何实现一个template
method
这个部分看wiki,fresh可以找到最多的熟悉名词,比如null object,boolean,
algorithm
【在 t*****j 的大作中提到】 : 能多解释解释么,高人同学? : 光看wiki还是理解不深。
|
g*******a 发帖数: 149 | 8 有谁推荐一下design pattern的书?比较简单易懂的入门级别的不太厚的书?谢谢啊! |
y******o 发帖数: 29 | 9 我觉得这个blog写的比较好,简言意赅,还有例子。。。
http://blog.csdn.net/zhengzhb/article/category/926691
【在 g*******a 的大作中提到】 : 有谁推荐一下design pattern的书?比较简单易懂的入门级别的不太厚的书?谢谢啊!
|
g*******a 发帖数: 149 | 10 thanks for sharing!
【在 y******o 的大作中提到】 : 我觉得这个blog写的比较好,简言意赅,还有例子。。。 : http://blog.csdn.net/zhengzhb/article/category/926691
|
t*****j 发帖数: 1105 | 11 拜读了!很详细!赞!!
【在 z****e 的大作中提到】 : 顾名思义啊 : 结构模式其本意是在告诉你结构的差异和模式 : 而行为模式本意在于强调行为的差异和模式 : bridge的本意是利用两个abstract的类,一个abstract class和一个interface : 把相同的部分和不同的部分分离,然后用不同的类继承这两个东西来实现 : 以达到实现共同部分和不同部分拆分实现的目的 : 本意就是强调结构,如何实现,也就是具体的实现类是这个模式中最无关紧要的部分 : 结构上的不同,所有的结构模式都是在告诉别人结构上的差异 : 可以看作是一堆abstract class和interface的关系,具体怎么实现 : 其实样例代码如果不写那些具体的实现类可能还更清晰点
|