伙计们。我在这里不是在问一个特定的问题。问题是:您对.NET IExtensibleDataObject接口和稳定性方面使用的整个机制有何看法?你用过它吗?如果我怀疑我的业务对象应该随时间变化,这是一个合理的解决方案吗?它似乎可以在类的新版本中支持新成员,但似乎IExtensibleDataObject类实现对旧成员类型的更改并不稳定。也许你对这个机制有一些批评,我会很高兴听到的。
发布于 2010-10-19 19:26:45
它完成它的工作,即允许您安全地往返意外数据而不会丢失。允许旧客户端与新服务器对话,并允许新客户端与旧服务器对话。
重新“更改旧的成员类型”;如果您的意思是更改了现有成员的定义,那么坦率地说,所有的赌注都是错误的。大多数序列化程序使用关于数据的约定(隐式或显式)。如果你更换了一个成员,你就违反了合同。
一般来说,替换一个成员比更改它更好;或者更好地对整个DTO进行版本控制(即发布独立于原始合同的新合同)。
实际上,我对这个接口最大的抱怨是它处理了一个具体的实现(ExtensionDataObject)。但从维护序列化实用程序库的人的角度来看,这更多地与我特定的怪念头有关……
https://stackoverflow.com/questions/3967761
复制相似问题