设计模式的艺术 第十章桥接设计模式练习(设计一个数据转换工具,可以将数据库中的数据转换成多种文件格式,例如 txt、xml、pdf 等格式,同时该工具需要支持多种不同的数据库)
Sunny 软件公司欲开发一个数据转换工具,可以将数据库中的数据转换成多种文件格式,例如 txt、xml、pdf 等格式,同时该工具需要支持多种不同的数据库。试使用桥接模式对其进行设计。
一、类结构图
两个独立变化的维度:转换文件和数据采集维度;
转换文件设计为抽象类,数据采集设计为实现类接口;
数据采集的设计结合访问数据库的适配器模式。
二、典型实现代码
抽象文件转换类:抽象类
复制代码
抽象数据库读取实现类:实现类接口
复制代码
A 格式文件转换器 :扩充抽象类
复制代码
B 格式文件转换器 :扩充抽象类
复制代码
数据库读取适配器:适配器类
复制代码
数据库读取抽象类:适配者接口
复制代码
数据库读取类:具体适配者
复制代码
数据库读取类:具体适配者
复制代码
客户端代码:
复制代码
编译并运行程序,输出的如下结果:
复制代码
版权声明: 本文为 InfoQ 作者【代廉洁】的原创文章。
原文链接:【http://xie.infoq.cn/article/37ac551b2d2c0999178d73c64】。文章转载请联系作者。
评论