我有机会重写我的雇主用于文档控制的内部开发应用程序的核心。我的“核心”需求清单是这样的:
- 更容易导入/导出为各种格式(文件集合 + 相当广泛的元数据是共同因素)
- 更容易在多个级别添加新字段(其存在是数据驱动的,而不是全局的)
- 引入几个违反旧系统基本前提的新功能(基本上,围绕文档的元数据结构正在发生根本性变化)
- 保持严格控制文档和元数据关系和约定的能力
我一直在尝试使用序列化作为与世界通信的主要方式的架构,到目前为止,我对结果很满意——我可以从用户界面、XML 存储和无需修改核心类以适应各种来源和接收器,即可轻松使用数据库。我认为这基本上是一个六边形架构- 它以相同的方式对待每个序列化目标(作为 Serialize 方法的可注入依赖项)。
然而,这是我第一次使用这种方法,我想知道是否有人对此有任何经验,如果有的话,有什么见解或建议。