浏览 11080 次
锁定老帖子 主题:设计模式学习笔记-Bridge模式
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-11-01
最后修改:2009-03-30
《Design Patterns Explained》对Bridge模式的特征: 意图:将一组实现与另一组使用他们的对象分离 问题:一个抽象类 的派生类 必须使用多个实现 ,但出现类数量增长
1.未使用Bridge实例: java 代码
2.传说中的Bridge模式 java 代码
3.Bridge与Strategy模式
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-11-06
我觉得这个例子很好,原因:
1.派生类是完全不同逻辑的类,四边形和圆 2.两种画法 意思是 画四边形会分别用到两种画法里面的drawLine 画圆会用到两种画法的drawCricle 这样逻辑就复杂多了,如果只有drawLine,没有drawCricle,就没办法显示Bridge的强大了 |
|
返回顶楼 | |
发表时间:2007-11-06
在第一次看到这两个模式时,我第一反应就是“模式说来说去都差不多意思”,特别是看到这两模式
网上参考了些资料,发现一片文章不错,与大家分享一下 http://www.blogjava.net/wangle/archive/2007/04/25/113545.html 对于这两个模式的差异解释得不错 |
|
返回顶楼 | |
发表时间:2007-11-07
楼主比较了Bridge模式和Strategy模式,其中有一点没有提到:Bridge的两端都是可替换的(你可以用一个派生类替换另一个派生类,用一个实现类替换另一个实现类),而对于单纯的Strategy模式,算法可以替换,而算法的调用者一般不会变化
从这个意义上讲,Bridge模式可由Strategy模式变化(或扩展)而来,或者应用了Bridge模式实际上也应用了Strategy模式 |
|
返回顶楼 | |
发表时间:2007-11-14
Bridge模式属于结构模式
Strategy模式属于行为模式 所用在的层面上就不一样了 |
|
返回顶楼 | |
发表时间:2007-11-14
class V2Drawing{
public void drawLine(){}; public void drawCircle(){}; } //使用组合 ,聚集Drawing class Rectangle extends Shape{ public void draw(Drawing dp){ dp.drawLine(); } } class Circle extends Shape{ public void draw(Drawing dp){ dp.drawCircle(); } } |
|
返回顶楼 | |