Bridge桥接模式-java设计模式7

 一、 概念 :表面上Brigde和Adapter都是将一种接口转换为另一种接口的类,但是适配器是使得一到多个类的接口看起来都像是一个特定类的接口。相反桥接器是为了将类的接口与它的实现相分离 ,这样扩展时只要继承接口类或添加实现类来分离独立实现 。而不会导致适配器扩展时的添加接口,然后再在实现类编写调用,或者继承再添加接口的整合累加式的代码增长

  桥接模式模式包括:

               1.Abstraction(抽象),定义抽象类。

             2.Refined Abstraction(细化抽象),扩展和实现抽象类,是调用了实现类的构造器接口类。

             3.Implementor(实现者),为实现类提供统一接口,为构造器接口类提供引用,桥功能

             4.ConcreteImplementor(具体实现者),编写实现类。

二、示例 :编写一个产品销售情况查看小程序,基于同一组数据(并没有数据特征的变化),构造不同的列表类显示数据,定义一个简单的接口,无论具体列表实现类的类型和复杂性如何,此接口均保持不变。使用Bridge模式的UML类图为:

 

 

从上面可以清楚的看到Bridge模式,为实现类提供扩展接口的两种方式,这正是桥接器的简单和强大的功能。

三、扩 JFC类中的组件都都是编写为Bean,而Bean程序设计模型是一种理想的桥接器模式实现的例子,Bean组件是作为 ConcreteImplementor 出现的,并且定义有他们的共同接口,然后定义一个查询界面类作为 Refined Abstraction类 出现,它只要调用了Bean组件的接口,就可以调用具体的Bean类中不同实现的方法,但是从查询界面类的角度看没有什么差别。这样利于Bean类的扩展,实现不同的bean功能仅需编写该bean类然后嫁接到桥Implementor类中即可。

四、结论:

(1)桥接模式的目的是保持客户程序的接口不变,同时允许对所显示或使用的具体类进行修改。这一特性有助于避免重新编译复杂的用户界面模块集(其它的具体类不用再编译),而只要重新编译桥接器本身和具体的最终显示类。

(2)可以分别扩展实现类和桥接类,而且它们之间一般不必有太多的关联。

(3)可以更方便地将实现的细节对客户程序隐蔽。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值