我需要从xls源(ole db)中加载数据,根据输出文件的规范格式化,合并proccessed字段,然后将其保存到csv。“加载格式保存数据”的设计模式
如何处理必须是某种类型的多个数据字段?以某种方式格式化 - 等
我很难抽象这个问题的类结构。
哪种设计模式最适合我?
我需要从xls源(ole db)中加载数据,根据输出文件的规范格式化,合并proccessed字段,然后将其保存到csv。“加载格式保存数据”的设计模式
如何处理必须是某种类型的多个数据字段?以某种方式格式化 - 等
我很难抽象这个问题的类结构。
哪种设计模式最适合我?
我不会尽量在设计模式中思考,而是将问题分解成更小的部分,至少在开始的时候。
现在,你的描述可能有点模糊,真正进入有关实际处理的细节,但是从它我可以找出至少三个部分:
你可能要考虑你的读者和作家都相似,你会如何处理文件或流。例如,你的读者可能有:
Open
Read
(读只是一个项目)Close
与同为作家,但Write
。
抽象两个接口,一个IDataReader
和一个IDataWriter
,并让您的IDataProcessor
与读取器和写入器进行交互,但只能通过接口进行交互。
已具备了这些合同,就意味着你可以有一个读者对作家来说,一种实现方式,如XLSReader : IDataReader
和CSVWriter : IDataWriter
,而不必担心其内部的方式来解决每一个处理器。
拥有这些抽象让你可以独立地(通过模拟其他部分)编写干净和独立的单元测试,这将允许您在开发过程中测试每一步的每一步。
而且,这些类型的合同,让你在处理小数据包的数据,而不是一个大批量的数据(像一个大DataTable
之类的东西),衡量进展等
现在,根据您的实际需求,您可以拥有读卡器提供的数据类型的架构或定义,输出,格式器和变压器可以改变输入数据并构建输出等等。