1

我有机会重写我的雇主用于文档控制的内部开发应用程序的核心。我的“核心”需求清单是这样的:

  • 更容易导入/导出为各种格式(文件集合 + 相当广泛的元数据是共同因素)
  • 更容易在多个级别添加新字段(其存在是数据驱动的,而不是全局的)
  • 引入几个违反旧系统基本前提的新功能(基本上,围绕文档的元数据结构正在发生根本性变化)
  • 保持严格控制文档和元数据关系和约定的能力

我一直在尝试使用序列化作为与世界通信的主要方式的架构,到目前为止,我对结果很满意——我可以从用户界面、XML 存储和无需修改核心类以适应各种来源和接收器,即可轻松使用数据库。我认为这基本上是一个六边形架构- 它以相同的方式对待每个序列化目标(作为 Serialize 方法的可注入依赖项)。

然而,这是我第一次使用这种方法,我想知道是否有人对此有任何经验,如果有的话,有什么见解或建议。

4

1 回答 1

2

我的第一直觉是,任何严重依赖于核心类序列化的东西都可能会遇到棘手的版本控制问题——对核心的更改将需要同时修改所有序列化提供程序和消费者(可能还有所有持久存储),而不是允许接口在可能的情况下保持静态的基于服务/合同的方法。

但是,如果不对系统将如何使用和随时间演变做出大量假设,就很难给出任何意见 - 如果您对这种方法感到满意,请继续使用它并让我们知道它是如何实现的去。

于 2010-02-03T05:20:20.887 回答