从备份还原应用程序时如何临时绕过域对象的创建合同?

时间:2015-06-16 08:57:11

标签: oop design-patterns import domain-driven-design poeaa

我们的应用程序的域模型对象具有非平凡契约的构造函数。例如,Entry对象需要Catalog对象才能创建。问题是,当我从XML文件中批量恢复对象时,必须暂时违反这些合同,因为在完全处理备份文件之前,依赖对象可能不可用。

这个问题是否有既定的模式或解决方案?

1 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点。

  

这个问题是否有既定的模式或解决方案?

我想到的是momento pattern

很明显,使用当前的构造函数不会完成工作:) ---所以你需要使用另一个方法调用。

如果您有可以访问的参数,可能使用其他构造函数。

在C#世界中(我确定其他语言中存在类似或更好的构造),您可以尽可能地制作方法/构造函数internal并使用InternalsVisibleToAttribute为您的批量加载程序提供访问权限。