使用C#,我目前遇到了如何存储需要经常复制和更改的配置对象的问题。也许配置不是最好的词,但是上下文数据是。
想想我有一个基本的配置模板,它将通过工作流程传递。在此工作流程内,每个步骤都应采用先前的配置,可能会复制并修改它,并将其传递给下一步。重要的是,后续步骤不会改变其前身的配置。
通常我会说:好吧,只需使用简单成员的平面课程。但是,当然,配置也可能包含更复杂的成员,如List<T>
。在C#中复制对象并不好玩,经常复制它们听起来像是GC的噩梦。但是,不使用类型系统并滥用Dictionary<string, object>
也不会听起来那么好。
另一个要求是磁盘上的人类可读数据存储。我想过使用JSON或类似的东西。
这样存储数据的最佳方法是什么?
注意:我知道有几个这样的问题。请记住,我不是要求“快速序列化”或“如何深度克隆对象”。我问这样存储数据的最佳格式是什么。