为了账号安全,请及时绑定邮箱和手机立即绑定

java桥接模式实例解析

标签:
Java

上篇文章讲解了适配器模式相关知识与使用实例,本篇文章介绍桥接模式,这两种模式都属于结构型设计模式,经常在软件架构设计时联合使用。因此紧接着上篇适配器模式来介绍桥接模式,展示两个设计模式联合使用的妙处。

1、适配器模式概述:

桥接模式(Bridge Pattern):将抽象部分与其实现部分分离,使它们可以独立地变化。它是一种对象结构型设计模式,又称为柄体(Handle and Body)模式或接口(Interface)模式《设计模式的艺术》

在软件系统中,如果某一部分功能存在2个变化的纬度,而这两个纬度可以相互分离,互不影响。因此便可以使用桥接模式,将两个变化的纬度进行抽象设计,两个抽象部分相关联,具体实现部分互相无任何关系。桥接模式符合很多设计原则,开闭、单一职责、依赖倒转等原则,因此学习桥接模式对于面向对象设计原则理解很有帮助。

桥接模式类图

1)Client(客户端):外部使用程序
2)Abstraction(抽象类):定义抽象类的接口,一般将最基础业务方法的一个纬度定义为抽象类,并在类中定义抽象方法;
3)Implementor(实现类接口):定义实现类的接口,与Abstraction不同的另外一个纬度的基类或者是接口;
4)RefinderAbstracion(扩充抽象类):抽象类的实现者,根据不同变化纬度对应不同类;
5)ConcreteImplementor(具体实现类):实现抽象类接口,完成不同实现;

2、桥接模式示例:

本实例为一个Android平台的视频播放器的一部分内容,该视频播放器的解码部分使用桥接模式实现。因为视频流的码率、分辨率不一样,而解码方式也分为硬解码、软解码方式,因此在设计该方案时使用桥接模式实现。
image.png
该实现方式扩展性很好,如果有新的解码器加入,原系统不需要做修改,只需要增加新的解码器即可。

优点:

1)面向接口编程,抽象与具体实现分离;
2)扩展性好,任意纬度扩展都不需要修改原有系统,符合开闭原则;

结束语

桥接模式的难点在于识别出系统中独立变化的多个纬度,这方面需要一定的技术积累才能做到。另外在使用桥接模式的时候,系统复杂度一定程度上会增加。

原文出处

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消