JiveJdon Community Forums
在线166人   首页   主题表   培训咨询   标签   查搜   注册    登陆 RSS
首页 » 论坛 » 设计模式、框架和架构
???en_US.forumThreadPrev.name??? 上一主题
google yahoo 365Key网摘 CSDN网摘 添加到百度搜藏 POCO网摘 新浪ViVi QQ网摘
???en_US.forumThreadNext.name??? 下一主题
Go 共有 7 回复(1页) 阅读10次
 发表新帖子   回复该主题贴
persister



发表文章:
注册时间: 2008年04月17日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言
请教strategy 和 bridge的区别 2008年04月17日 10:55 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
标签               
strategy 和 bridge 使用的都是合成,引用的也是接口,接口的实现可以独立变化,它们都是合成和面向接口编程的范例,可是它们本质的区别是啥呢,还请各位高手解惑!
persister



发表文章: 8
注册时间: 2008年04月17日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言
re:请教strategy 和 bridge的区别 2008年04月18日 09:36 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
看来这个问题太简单了……
banq



发表文章: 10843
注册时间: 2002年08月03日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言 26人关注
回复:请教strategy 和 bridge的区别 2008年04月18日 09:53 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
>它们本质的区别是啥

你看到的他们共同点只是表面现象,也就是是展示了合成和面向接口是什么样的,这其实展示了什么是OO,所以,我说只有掌握设计模式,才说明你入了OO的门。因为设计模式不只是简单展示OO的技术特点,而且告诉你在什么情况下如何使用这些技术特点,而这点才是最重要,才是真正的编程思想,所以,用这个标准来看,那个Thingking in Java Java编程思想 TIJ是挂羊头卖狗肉。

在什么情况下使用这些技术特点,如合成和面向接口,也就是strategy 和 bridge 的本质区别,所以,合成和面向接口是结果,我们从结果无法推断到其原因,既然探讨原因,就不能用结果的语境来表达,也就是说,无法从合成和面向接口上去解释他们的本质。

还是得从模式定义上找原因,Strategy是策略模式,适合解决策略算法替换的情况;而Bridge是桥模式,是将对象行为和抽象分离,达到可以应付行为变化的目的,所以,这两个模式很显然侧重点适应的情况是不同的。

persister



发表文章: 8
注册时间: 2008年04月17日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言
回复:回复:请教strategy 和 bridge的区别 2008年04月18日 10:51 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
非常感谢banq的热情,本人对这句话“而Bridge是桥模式,是将对象行为和抽象分离”不是很理解,“对象行为和抽象分离”能具体并且通俗的解释一下吗
Jimny



发表文章:
注册时间: 2008年04月11日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言
re:请教strategy 和 bridge的区别 2008年04月18日 11:18 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
http://www.jdon.com/designpatterns/bridge.htm
里面的咖啡加牛奶的例子很通俗。:)
slargy



发表文章:
注册时间: 2008年04月27日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言
re:请教strategy 和 bridge的区别 2008年04月30日 11:31 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
对于"抽象和抽象行为分离"是手段
应用的情景是
随着抽象行为引入,继承结构或者抽象类爆炸式增长,用这种手段将不同的抽象行为进一步抽象成一个接口被抽象类引用,接口这一方实现多态,其中应用了适配器模式
bloodrate



发表文章: 176
注册时间: 2008年04月19日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言
re:请教strategy 和 bridge的区别 2008年05月08日 12:56 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
桥模式主要应用背景是,
抽象类行为的具体实现中有重复的方法行为
比如按照原先的
照片和文档继承了资料抽象类,在具体的实现比如修改的时候是不是要特别为照片和文档写2个
修改的方法,但是如果这2个修改的方法具体实现是相同的(比如调用了另外库中的修改方法),那么不是重复了吗,这个时候就可以应用桥模式,将抽象成一个接口,并且对象应用,这样就可以不用一个一个去实现了
-------------------------------------------------------------------------------


照片和文档都继承了抽象类,那么可以将修改方法的实现写在抽象类里,子类不复写,这不就能保证这个方法在所有子类里都有了么?这个例子不能说明bridge的好处吧
xmuzyu



发表文章: 384
注册时间: 2007年03月26日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言 7人关注
请教strategy 和 bridge的区别 2008年12月13日 02:26 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
strategy模式是行为模式,注重的是对行为的封装,而brige模式是结构模式,更加看重对分离的东西的整合,因为bridge虽然将抽象和实现分开实现,但是它也要注重抽象和实现的结合。
标签               
共有 7 回复(1页) Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
正在读取,请等待...
查询本论坛内 回复超过的热门帖子
标题
 
粗体: [b]文本[/b] 斜体: [i]文本[/i] 下划线 [u]文本[/u] 插入网上的图片 [img]http://wwww.xxxx.com/img.ext[/img] 插入代码 [code]程序代码[/code]  插入url链接 [url]http://url[/url] / [url=http://url]URL加下滑线[/url] 上传图片 word文档 Txt等附件
内容
  提交时自动拷贝以上内容到剪贴板 Ctrl-V可取出;提问题前先查询标签列表

使用帮助 手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的软件架构社区 推荐FireFox或Chrome快速浏览本站
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-09 jdon.com
anti spam