我目前完成了一个需要使用C++将数据库信息写入XML的项目的两个阶段之一。虽然使用第三方工具来进行XML标签和数据的实际格式化,但我仍然需要设计一个模型以及业务逻辑来获取数据库表并将它们映射到XML结构中。有没有更好的设计模式/方法使用?
为此,我最终为每个XML结构创建了一个单独的类,导致了大量的类(〜75)。每个类都具有如何读取关联表的知识,并通过第三方工具将自身序列化为XML。最后,系统运行良好(按时和预算),输出错误非常容易找到。
第二阶段几乎完全相同,但不是格式化文本,而是二进制数据。因此,虽然我仍在考虑使用第一阶段中使用的相同策略,但我想问,是否会有更好的方法或设计模式来解决这个问题?尤其是,由于第一阶段的某些XML类别中存在大量的依赖关系,因此单元测试非常困难。
有趣的问题......你为什么选择使用C++和那个工具? - 只是好奇。 – 2010-01-15 15:58:31
我正在使用C++,因为原始系统在SPARC系统上以C++编码,需要将其集成到工具集中。我应该注意到,阶段二的类和数据结构与阶段一不同。所以我不能重复使用它们中的任何一个。因此,为什么我正在寻找一种方法/模式来减少与第一阶段相比我必须编写的新代码的数量。 – Matthew 2010-01-15 16:32:32
您好马修,它现在“闻起来”更多,现在是一个很好的应用程序的发电机或至少一个框架,简化了大量的类的实施...也从您的描述,我仍然不确定,如果你得到你的内部代表权。我认为这应该完全独立于XML - 只有某些作者应该完成XML /二进制部分。正如大卫所写,访问者会很棒 - 但它也可能是基类,特殊界面等的一部分。 – Juergen 2010-01-15 16:58:48