《java与模式》学习系列——桥梁模式

本文详细阐述了桥梁模式在Java中的应用,包括AWT的Peer架构和JDBC驱动器实例。同时讨论了其与其他模式的关系以及适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

一、桥梁(Bridge)模式的结构

桥梁模式的用意是在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系(继承是一种强耦合),从而使两者可以相对独立地变化。桥梁模式是用聚合关系实现的弱耦合解决方案。

结构图如下:

二、桥梁模式在java中的应用

AWTPeer架构

JavaAWT中的每一个GUI构件都提供了一个Peer构件,这个Peer构件是所属的Java构件在本地环境中的实现化。比如Choice是一个AWT提供的GUI构件,它允许用户在一个列中选择一个或者多个项。一个Java应用程序的开发人员只需要考虑Choice对象被动态地与一个合适的底层Peer对象联系起来,这个Peer对象会按照指令执行正确的操作。这个将JavaGUI构件与本地环境的Peer构件联系起来的接口,就是所谓的Peer接口。一个Peer接口其实就是一个定义了Peer构件必须实现的各个方法的接口。

每一个java构件都是Component类型的子类,而每一个Peer构件都是ComponentPeer类型的子类,他们通过Toolkit对象相互通信,这正是桥梁模式的应用。

JDBC驱动器

大多数的驱动器都是桥梁模式的应用。

三、桥梁模式与其他模式的关系

适配器模式

桥梁模式与适配模式很相似,但是适配器模式的目的是要改变已有的接口,让他们可以相容,以使没有关系的两个类能在一起工作。而桥梁模式是分离抽象和实现化,使得两者的接口可以不同。

四、在什么情况下使用桥梁模式

         1、如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免两个层次之间建立静态的联系。

         2、设计要求实现化角色的任何改变不应当影响客户端,或者说实现化角色的改变对客户端的完全透明的。

         3、一个构件有多于一个的抽象化角色和实现化角色,系统需要它们之间进行动态耦合。

         4、虽然在系统中使用继承是没有问题的,但是由于抽象化角色和具体化角色需要独立变化,设计要求需要独立管理这两者。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值