如何维护不同的架构版本?

时间:2017-11-19 17:57:24

标签: c# xml oop model xsd

我有一个业务代码组件,用于从周围系统导出数据。因此,它使用简单类型和组合类型(由这些DTO构建)填充树状 DTO模型。然后将整个模型刷新为 xml文件以进行导出。 模型要求来自标准论文,并由XML模式定义( XSD )定义,我从中生成 C#类(其中还包含xml序列化内容)。对于他们所有人,我创建了包装类 - DTO - 实现业务代码使用的接口(每个)。这是为了使代码独立于从XSD生成的类,因为我有不同的客户同时使用标准的不同版本。版本之间的变化通常很小,比如新字段的定义 - 简单或复杂 - 或者存在和删除存在字段。 包装类包含C#类的实例;对包装器的读写操作会立即委托给后台实例。

我的问题是,目前对于每个新的架构版本,我必须再次实现整个DTO模型(因为新生成的C#类);至少已经改变的类和整个包含路径到根。我还必须调整界面以适应新的要求 - 以及所有现有的实现以适应界面(再次)。 我目前的解决方案"是复制现有模型并使其适应新要求。复制和粘贴是因为大量的类(每个类约50个,~5道具)。

是否有解决方案以避免每次重新实现模型?

我认为核心问题是包含问题:树中的一个更改会导致整个包含路径(包括根目录)重新实现。 注意:"界面"树实际上是由抽象类组成的。

0 个答案:

没有答案