持久化和使用原始业务对象状态的策略

时间:2016-05-17 22:28:55

标签: c# .net oop

在第一次实例化对象时,有许多场景需要保存对象的原始状态,以便能够将其当前状态与其原始状态进行比较,并确定对象是否在其生命周期内被修改由用户或以编程方式跟踪对象是否被修改和/或持久化,比较当前值和原始值等。

你是如何做这个管道的?您是否正在使用一些可用于此管道的代码生成器?您是否了解任何正式的最佳做法? ReSharper将为您生成对象比较代码,但我没有找到任何会产生其余管道的东西......

这是我目前正在做的事情(简短,简化版):

f

1 个答案:

答案 0 :(得分:0)

简单方法(高级别):

  1. 序列化原始对象。使用二进制,XML或JSON序列化。 (对于步骤#3,XML和JSON将更容易)
  2. 使用与上一步骤相同的方法序列化可能已修改的实例。
  3. 比较两个序列化版本。如果它们相同,则该对象未被更改。