桥接模式简介
分析:
蜡笔:的颜色和型号要结合两个不同的变化维度,也就是两个化的原因来扩展颜色
如果扩展模型,则会影响其他维
毛笔:的颜色和型号是分离的,添加新的颜色和型号对另一方没有任何影响
1 .桥接模式的定义在软件开发中如何分离多个变化维度?
桥接模式:允许抽象部分及其实现部分解耦被独立地改变。
1 .也称为柄体模式或接口模式
2 .用抽象关联替换了传统的多层继承
3 .动态转换类之间的静态继承关系
对象组合关系
2 .桥接模式的结构与实现
桥接模式包括四个角色:
Abstraction (抽象类)
Refinedabstraction (抽象类扩展) )。
类接口实现)。
Concretelmplementor (具体实现类)。
3 .实例某软件公司为了开发跨平台图像浏览系统,要求能够显示BMP、JPG、GIF、PNG等多种格式的文件。 另外,在Windows、Linux、UNIX等多个操作系统中,首先将各种格式的文件分析为像素矩,将像素矩阵在不同的操作系统中调整不同的绘制函数来绘制像素矩阵此外,为了将来支持新的文件格式和操作系统,系统必须具有高度的可扩展性。 尝试使用网桥模式设计跨平台图像浏览系统
1 ) Matrx:像素矩阵系统,辅助系统
2 ) ImageImp:抽象操作系统的实现类,作为实现类的接口
3 ) WindowsImp: Windows操作系统的实现类,用作具体的实现类
4 ) LinuxImp: Linux操作系统的实现类,用作具体的实现类
5 ) UnixImp:UNX操作系统的实现类,用作具体的实现类
6 ) Image:抽象图像类,充当抽象类
7 ) JPGImage:JPG格式的图像类。 作为扩展抽象类
8 )用作扩展抽象类的PNGImage:PNG格式的图像类
9 ) BMP图像: BMP格式的图像类。 充当打充抽象类
10 )用作扩展抽象类的GIFImage:GIF格式的图像类
11 )客户端:客户端测试类
如果需要交换结果和分析图像文件的格式或交换操作系统,只需修改配置文件即可