设计模式之 - Bridge模式
?Bridge 模式是模式里面最难理解同时也是功能非常强大的一个模式, 下面我们就来谈一谈它的核心思想适用场合欢迎有兴趣的同行一起探讨补充。
?
设计模式一书中原话描述这一模式: 将抽象与其实现解耦,使它们可以独立的适应变化。
?
Bridge 模式要解决的问题是: 当一个抽象有不同实现的时候,它可以使抽象和实现相互独立的进行变化。
?
适用场合: 对业务逻辑进行分析找到变化的部分放在各自的抽象类中,在分析这些抽象类之间的关系,使其能够做到相互独立的类中包含变化,从而使未来发生变化的部分很小程度的或者不影响当前的代码。
?
简单理解该模式由一个抽象(包括其派生类)和一个实现组成。
?

?
看一个具体一点的例子:
?
比如说常见的画图实现
?
?
?
?
public abstract class AbstractDrawing {abstract public void drawLine(double x1, double y1, double x2, double y2);abstract public void drawCircle(double x, double y, double r);}?
?
?
1 楼 seagod.wong 2011-06-22 图全挂了。 2 楼 dominic6988 2011-06-22 seagod.wong 写道图全挂了。不会吧,看不到图吗?我自己看都能看到的啊。 3 楼 hi31sunny 2011-06-22 是看不到图 4 楼 terra_yuan 2011-06-22 这是传说的桥接吗 5 楼 KimHo 2011-06-22 LZ头像没挂 6 楼 zean 2011-06-22 楼主发完贴就拆桥了。
不过我觉得抽象工厂比桥模式更难理解。 7 楼 nplw668 2011-06-23 呵呵,看不到图,楼主的桥 不合格呀 8 楼 niu396212866 2011-06-23 确实看不到图,不过应该不是很难理解吧 9 楼 yunchow 2011-06-23 说实话,楼主讲的不是很清楚,应该有一大部分人看不太明白
桥接最大的好处是可以防止类膨胀的,并且能更好的复用,增加后期的可维护性。。。。
这些楼主没表达出来 10 楼 云中苍月 2011-06-23 可以把《解析设计模式》上面的段落直接引用过来。 11 楼 dominic6988 2011-06-23 云中苍月 写道可以把《解析设计模式》上面的段落直接引用过来。
是设计模式解析上面的,不过我是看的书,不能直接复制。上面的是看完书的理解 12 楼 dominic6988 2011-06-23 <div class="quote_title">zean 写道</div>
<div class="quote_div">楼主发完贴就拆桥了。 <br>不过我觉得抽象工厂比桥模式更难理解。</div>
<p>?</p>
<p>抽象工厂模式主要用于一系列关联的对像创建,且隐藏了创建细节。像Spring里面的IOC创建对像的时候用到了抽象工厂模式</p> 13 楼 dominic6988 2011-06-23 把图补上了 14 楼 dominic6988 2011-06-23 <div class="quote_title">yunchow 写道</div>
<div class="quote_div">说实话,楼主讲的不是很清楚,应该有一大部分人看不太明白 <br><br>桥接最大的好处是可以防止类膨胀的,并且能更好的复用,增加后期的可维护性。。。。 <br><br>这些楼主没表达出来</div>
<p>?</p>
<p>?补充的不错,这点是没有讲出来。</p> 15 楼 aninfeel 2011-06-23 在不知不觉中大量使用过,但是当面试时被问起什么是设计模式时,或者与同事争吵时,还是要懂点理论的。 16 楼 dominic6988 2011-06-23 <div class="quote_title">aninfeel 写道</div>
<div class="quote_div">在不知不觉中大量使用过,但是当面试时被问起什么是设计模式时,或者与同事争吵时,还是要懂点理论的。</div>
<p>?</p>
<p>?我是觉得设计模式真的是很好的实践,问题是我们遇到现实的问题时(假如让你来设计一个系统)能否恰当的去使用设计模式,好多事情都是纸上得来终觉浅绝知此事要躬行啊。</p>
<p>知道不一定会用,会用不一定能用好,不是做一次两个就能达到这个境界的,比如像炒股我不知道兄弟你是不是炒股,都知道在很低的时候进去在很高的时候出来,可是真正做到的有吗?很少的,上次听一个投资大师讲他也说要做到"高抛低吸"这理论谁不懂啊。</p> 17 楼 ocaicai 2011-06-23 zean 写道楼主发完贴就拆桥了。
不过我觉得抽象工厂比桥模式更难理解。
我的设计模式学习就是从工厂以及抽象工厂开始的,感觉还好吧!
18 楼 yaofaye 2011-06-24 红叉叉 啊 红叉叉 19 楼 qyongkang 2011-06-28 这个。。。。需要细化,太糊里糊涂了 20 楼 wkcgy 2011-06-28 http://www.jdon.com/designpatterns/bridge.htm讲的挺清楚的!bridge不仅对对象做了抽象而且还对对象的行为做了抽象!