我有机会重写我的雇主用于文档控制的内部开发应用程序的核心。我的“核心”需求列表是这样的:
我一直在玩一个使用序列化作为与世界通信的主要方式的架构,到目前为止我对结果感到满意 - 我可以序列化为&从用户界面,XML存储和数据库轻松反序列化,无需修改核心类以适应各种源和接收器。我认为这基本上是hexagonal architecture - 它以相同的方式处理每个序列化目标(作为Serialize方法的可注入依赖性)。
然而,这是我第一次尝试这种方法,我想知道是否有人有任何经验,如果有任何见解或建议。
答案 0 :(得分:2)
我的第一直觉是,任何严重依赖于核心类序列化的东西都可能会遇到毛茸茸的版本问题 - 对核心的更改将要求同时修改所有序列化提供程序&消费者(可能还有所有持久性商店),而不是基于服务/合同的方法,这种方法可以使接口在可能的情况下保持静态。
然而,如果不对系统的使用方式做出大量假设,就很难给出任何意见。随着时间的推移而发展 - 如果你对这种方法感到满意,那就继续吧。让我们知道它是怎么回事。