当前位置: 首页 > wzjs >正文

河南郑州最新新闻镇江网站seo

河南郑州最新新闻,镇江网站seo,wordpress获取分类文章标题列表,推广普通话的内容简短目录 任务描述 实现方式 编程要求 测试说明 代码实现 总结 1 任务描述 某软件公司欲开发一个数据转换工具,可以将数据库中的数据转换成多种文件格式,例如 TXT、XML、PDF 等格式,同时该工具需要支持多种不同的数据库。 本关任务&#…

目录

任务描述

实现方式

编程要求

测试说明

代码实现

总结


1 任务描述

某软件公司欲开发一个数据转换工具,可以将数据库中的数据转换成多种文件格式,例如 TXT、XML、PDF 等格式,同时该工具需要支持多种不同的数据库。

本关任务:用桥接模式对模拟程序进行框架搭建,如图。

2 实现方式

  1. 明确类中独立的维度。 独立的概念可能是: 抽象/平台, 域/基础设施, 前端/后端或接口/实现。

  2. 了解客户端的业务需求, 并在抽象基类中定义它们。

  3. 确定在所有平台上都可执行的业务。 并在通用实现接口中声明抽象部分所需的业务。

  4. 为你域内的所有平台创建实现类, 但需确保它们遵循实现部分的接口。

  5. 在抽象类中添加指向实现类型的引用成员变量。 抽象部分会将大部分工作委派给该成员变量所指向的实现对象。

  6. 如果你的高层逻辑有多个变体, 则可通过扩展抽象基类为每个变体创建一个精确抽象。

  7. 客户端代码必须将实现对象传递给抽象部分的构造函数才能使其能够相互关联。 此后, 客户端只需与抽象对象进行交互, 无需和实现对象打交道。

3 编程要求

根据提示,在右侧编辑器 Begin-End 内补充 "DataHandler.java"、"FileConvertor.java"、"PDFConvertor.java"、"XMLConvertor.java" 和 "TXTConvertor.java" 文件的代码。

4 测试说明

平台会自动从 xml 文件中读取内容,然后对你编写的代码进行测试:

预期输出: 从Oracle数据库中读取数据 转换成PDF格式的数据

预期输出: 从SQLServer数据库中读取数据 转换成TXT格式的数据

5 代码实现

DataHandler.java

package step1;public abstract class DataHandler {public abstract void readData();
}

这段代码定义了一个抽象类 DataHandler,它代表了数据读取的实现部分。抽象方法 readData() 强制所有继承该类的具体数据处理器(例如 OracleHandler、SQLServerHandle 等)实现各自的数据读取逻辑,从而使得系统可以支持多种不同的数据库而无需修改桥接模式的核心结构。 


FileConvertor.java

package step1;public abstract class FileConvertor {// 持有实现部分对象引用protected DataHandler dataHandler;public void setDataHandler(DataHandler dataHandler) {this.dataHandler = dataHandler;}// 抽象的转换方法,由具体子类实现public abstract void translate();
}

这段代码定义了抽象类 FileConvertor,它作为文件转换工具的抽象层。该类中包含一个 DataHandler 类型的成员变量,用于关联具体的数据读取实现,并提供了 setDataHandler() 方法以便在客户端将具体的 DataHandler 注入进来。抽象方法 translate() 则规定了文件转换过程的基本接口,不同的文件格式转换器(例如 PDFConvertor、TXTConvertor、XMLConvertor)需要实现该方法来完成各自的转换逻辑。 


PDFConvertor.java

package step1;public class PDFConvertor extends FileConvertor {@Overridepublic void translate() {/********** Begin *********/// 调用实现部分的方法读取数据dataHandler.readData();/********** End *********/System.out.println("转换成PDF格式的数据");}
}

在 PDFConvertor.java 中,实现了 FileConvertor 的 translate() 方法。该方法首先调用 dataHandler.readData() 来读取数据库中的数据,然后输出“转换成PDF格式的数据”,模拟将数据转换为 PDF 文件的过程。这展示了桥接模式中抽象部分如何委托给具体实现(DataHandler)进行数据获取,并在此基础上完成自身特有的转换操作。 


TXTConvertor.java

package step1;public class TXTConvertor extends FileConvertor {@Overridepublic void translate() {/********** Begin *********/dataHandler.readData();/********** End *********/System.out.println("转换成TXT格式的数据");}
}

TXTConvertor.java 同样继承了 FileConvertor 类,其 translate() 方法也先调用 dataHandler.readData() 获取数据,再输出“转换成TXT格式的数据”,表明该转换器用于将数据转换成 TXT 格式。这样做的好处是,无论使用哪种数据处理器,转换器都能在调用相同的接口后完成各自的格式转换,实现了解耦和灵活扩展。 


XMLConvertor.java

package step1;public class XMLConvertor extends FileConvertor {@Overridepublic void translate() {/********** Begin *********/dataHandler.readData();/********** End *********/System.out.println("转换成XML格式的数据");}
}

XMLConvertor.java 的实现与前面的转换器类似。它通过调用 dataHandler.readData() 获取数据,然后输出“转换成XML格式的数据”,完成将数据转换为 XML 格式的任务。此设计使得不同的文件转换器只需关注各自的格式转换逻辑,而将数据读取的部分交给专门的 DataHandler 处理,从而体现了桥接模式对“抽象化”和“实现化”分离的设计思想。 

6 总结

这样,通过客户端代码配置不同的 FileConvertor 子类和 DataHandler 子类(如 OracleHandler 或 SQLServerHandle),即可实现从不同数据库读取数据并转换成不同格式的功能,而无需修改已有代码。

http://www.dtcms.com/wzjs/308538.html

相关文章:

  • 做网站人员工资市场调研报告怎么写范文
  • 网站建设 搜狐号单页站好做seo吗
  • 瑞安 网站建设场景营销
  • 宣传 网站建设方案模板下载关键词调词平台哪个好
  • apsx做的网站怎么发布搜索引擎推广方式
  • 现在做网站一般多少钱软文外链代发
  • 百度熊掌号 wordpress武汉seo首页优化报价
  • 天津和平做网站多少钱怎么做微信小程序
  • WordPress小工具吗美化合肥优化排名推广
  • 网站icp备案号个人免费域名注册网站
  • 大学网页制作与网站建设南京网络优化公司有哪些
  • 做网站后台指的那泉州百度推广咨询
  • 中国e网网站建设资源网
  • 企业网站管理系统登陆谷歌google浏览器官方下载
  • 找人制作网站 优帮云考研比较厉害的培训机构
  • 网站规划书市场分析广告公司图片
  • 台州网站排名优化费用网络营销方法有几种类型
  • 长沙推广型网站建设网络营销渠道有哪几种
  • 洋桥网站建设公司免费建站模板
  • app制作定制外包服务商eseo入门培训学多久
  • webportal自助建站seo技术助理
  • 永康网站建设专业公司百度广告联盟平台官网
  • 技术提供微信网站开发网站制作公司官网
  • 如何推广自己的产品让更多人来买网站seo诊断分析
  • 山东学生做自我评价的网站百度网盘客服24小时电话人工服务
  • 网站备案号在哪seo服务靠谱吗
  • 网站地图是什么样子的网络媒体
  • 多语言网站建设正规营销培训
  • 江阴网站制作设计知名的seo快速排名多少钱
  • led论坛网站建设网络营销推广