【发布时间】:2010-09-29 08:14:03
【问题描述】:
我有一个从 CSV 文件或数据库中导入信息并将其导出为 XML 的应用程序。此 XML 当前正在保存到文件中。但是,由于项目需要,我决定将此 XML 保存到数据库中可能会更好。
目前我有处理导入/导出数据的 CSV、XML 和 SQL 存储库。 XML 存储库将传入的对象保存到文件中。它目前是存储对象到 XML 的映射的地方,因此它是唯一知道这种结构的地方(同样,它们各自结构的其他存储库)。
现在我想将 XML 存储在数据库中,我开始质疑这种架构。为了插入数据库,必须可以从 SQL 存储库访问 XML 的结构(注意,其他列中的数据可以与 XML 一起插入到数据库中)。这让我想知道 XML 表示是否应该存储在对象本身中,或者存储在服务层或其他地方。
解决此问题的最佳方法是什么?
更新:澄清我的问题。 XML 存储库当前保存在一个文件中。在我看来,保持 XML 结构知识的水平是错误的,因为这样我就无法灵活地将 XML 表示形式保存到我想要的任何介质上。让对象了解它的 XML 表示(或 CSV 表示等)是糟糕的设计吗?该结构的知识是否应该保留在另一个级别,那将是什么级别?
【问题讨论】:
标签: c# .net design-patterns architecture oop