我们应用程序的领域模型对象具有带有非平凡契约的构造函数。例如,Entry 对象需要 Catalog 对象才能创建。问题是,当我从 XML 文件批量恢复对象时,必须暂时违反这些合同,因为在完全处理备份文件之前,依赖对象可能不可用。
这个问题有什么既定的模式或解决方案吗?
我们应用程序的领域模型对象具有带有非平凡契约的构造函数。例如,Entry 对象需要 Catalog 对象才能创建。问题是,当我从 XML 文件批量恢复对象时,必须暂时违反这些合同,因为在完全处理备份文件之前,依赖对象可能不可用。
这个问题有什么既定的模式或解决方案吗?
有很多方法可以做到这一点。
这个问题有什么既定的模式或解决方案吗?
脑海中浮现的是瞬间模式。
很明显,使用您当前的构造函数将无法完成工作:) --- 所以您需要使用另一个方法调用。
如果你有可以得到它的参数, 你可以使用另一个构造函数。
在 C# 世界中(我确信其他语言中存在类似或更好的构造),您可以尽可能地创建方法/构造函数internal
并使用InternalsVisibleToAttribute为您的批量加载程序提供访问权限。