软件设计模式及体系结构之桥接模式

本文探讨了如何通过桥接模式解决图像浏览系统中颜色、格式和操作系统扩展的问题。通过定义抽象类和实现类接口,实现了各组件的解耦,仅需配置调整即可添加新格式或操作系统。
部署运行你感兴趣的模型镜像

桥接模式前言

在这里插入图片描述
分析:
蜡笔:颜色和型号两个不同的变化维度(即两个化原因)耦合在一起,无论是对颜色进行扩展还
对型号进行扩展都势必会影响另一个维度
毛笔:颜色和型号实现了分离,增加新的颜色或者型号对另一方没有任何影响
在这里插入图片描述
在这里插入图片描述

1.桥接模式的定义

在软件开发中如何将多个变化维度分离?
桥接模式:将抽象部分与它的实现部分解耦,使得两者都能够独立变化.
1.又被称为柄体( Handle and body)模式或接口( Interface)模式
2.用抽象关联取代了传统的多层继承
3.将类之间的静态继承关系转换为动态的
对象组合关系

2.桥接模式的结构与实现

在这里插入图片描述
桥接模式包含以下4个角色:
Abstraction(抽象类)
Refinedabstraction(扩充抽象类)
Implementor(实现类接口)
Concretelmplementor(具体实现类)

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

3.实例

某软件公司要开发一个跨平台图像浏览系统,要求该系统能够显示BMP,JPG、GIF、PNG等多种格式的文件,并且能够在Windows、Linux、UNIX等多个操作系统系统首先将各种格式的文件解析为像素矩然后将像素矩阵显示在在不同的操作系统中可以调不同的绘制函数来绘制像素矩阵。另外,系统需具有较好的扩展性在将来支持新的文件格式和操作系统。试使用桥接模式设计该跨平台图像浏览系统
在这里插入图片描述
1)Matrⅸx:像素矩阵类,辅助类
2) ImageImp:抽象操作系统实现类,充当实现类接口
3) WindowsImp: Windows操作系统实现类,充当具体实现类
4) LinuxImp: Linux操作系统实现类,充当具体实现类
5) UnixImp:UNX操作系统实现类,充当具体实现类
6) Image:抽象图像类,充当抽象类
7) JPGImage:JPG格式图像类,充当扩充抽象类
8) PNGImage:PNG格式图像类,充当扩充抽象类
9) BMPImage:BMP格式图像类,充当打充抽象类
10) GIFImage:GIF格式图像类,充当扩充抽象类
11) Client:客户端测试类

结果及分析

如果需要更换图像文件格式或者更换操作系统,只需修改配置文件即可

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值