我见过的所有 DCI 的例子似乎都是基于对象作为信息的最终持有者,事务边界是在方法内部定义的。
我想看一个持久性应用程序的例子,其中有某种持久性层,即底层持久性存储可以有重复的对象副本,并且对对象的更改是对稍后将要进行的副本的更改被坚持。 DCI 完全适用于该模型吗?
最佳答案
DCI 是一种范式,正如您可以使用任何其他具有持久性的范式构建应用程序(不包括纯 FP,因为持久性是一种副作用),您也可以使用 DCI。 DCI 示例中没有提到它,因为它不是范式的问题,也与理解范式无关。 (也就是说,您不是第一个提出问题的人,也不会是最后一个,我敢肯定)。
持久化数据的关注点通常与 DCI 正交。 DCI 尝试将设计划分为
第一个是领域模型,第二个是系统的功能。
“系统是什么”是保存在内存、平面文件还是数据库中当然很重要,但这是一个单独的问题,通常使用 restricted OO 实现。
关于persistence - DCI(数据、上下文、交互)持久化示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3158728/