桥模式的疑问

07-11-12 dayspring86
最近在网上一直看 桥模式 ,但感觉他和适配器模式很像,但区分不出他们的差别来,请师傅们给指导
    

xysniper
2007-11-12 10:26
bridge模式主要内涵是把抽象和行为分开,这们行为是可以任意添加变化,则不需要修改任何意,因为对于客户端来说,调用则是靠把抽象和行为的不同组合来实现最终系统目标,主要是考虑到行为可能将来是变化无常的,才使用此模式,而adapter则不同了,它其实是续承的运用,也就是说用户要实现功能的扩展,但原来的类不能修改,则需要定义一个新的功能接口,用Adapter模式将原来的类和新的接口联系起来,这样虽实现的功能的扩展,又不修改原来的类

fety07
2007-11-12 11:17

举个例子:图形有长方形,正方形,三角形.图形有打印自己形状的行为.现在打印这个行为有多种方式,比如用3D或者2D.

图形(shape)是长方形,正方形,三角形的抽象,以后可以还需要添加其它的图形,

它们的打印行为用一个接口表示,以后可能有其它的实现方式.所以抽象(图形)和行为(打印)都可以变化的.这就是bridge模式.

如果有类实现了打印个行为,但它的接口又不是我们需要的,我们可以用适配器模式,让它支持现有的行为.说白了就是适配器模式为bridge模式提供了多态支持.

bloodrate
2008-09-19 12:03
个人认为当一个接口可能有非常多的实现类的情况下,用bridge能有效防止类数量急剧膨胀。

猜你喜欢