【发布时间】:2013-06-18 21:09:27
【问题描述】:
在 C# 应用程序中,我有一个这样的字符串数组:
string[] myArray = GetStrings(source);
现在我想将此数组的内容写入不同格式的文件,例如
- 平面列表
- CSV
- XML
- ...
但是,我不确定实现这些不同格式的最适当方式是什么。我能想到:
- 每种格式一个类,每个类都有一个
Write()方法:FlatListWriterCsvWriterXmlWriter
- 一个类包含多个方法:
WriteAsFlatList()WriteAsCsv()WriteAsXml()
- 一个带有
Write()方法的接口及其实现类,如1。 - 某种抽象类。
你会推荐什么?
【问题讨论】:
-
您错过了对象以所需格式保存自己的接口选项(无论是 csv、xml、edifact、ansi x12 还是其他格式)...
-
@RowlandShaw 你能提供一个链接吗?你的评论听起来很有趣,但我不知道从哪里开始。
-
更多的是当你有一个对象集合而不是字符串的情况 - 本质上,它是“建模数据,而不是文件格式”的情况 - 你的字符串集合 可能 代表一个发票行,因此最好将其建模为一个发票行,可以巧妙地了解它的持久性,并提供一种更通用的方法,而不是希望在保存为 CSV 时所有字符串数组都代表发票行,例如。
标签: c# interface abstract-class