域驱动设计 – 如何实施聚合根的规则?
在搜索网络时,我遇到了Eric Evans的书中的一系列规则,这些规则应该针对聚合强制执行:
>根实体具有全局标识,并且最终负责检查不变量 这一切在理论上似乎都很好,但我不知道这些规则将如何在现实世界中实施. 以规则3为例.一旦根实体为外部对象提供了对内部实体的引用,那么什么是使该外部对象保持超出单个方法或块的引用? (如果执行此操作是特定于平台的,我将有兴趣了解如何在C#/ .NET / NHibernate环境中强制执行此操作.)
我不认为你应该让聚合给你的外部代码访问它的实体.
你告诉你的汇总你想要发生什么,它会处理它. 如果我们有一个聚合:汽车.我们不关心汽油和轮子,我们只是开车.我们向汽车询问有关事情的事情并且在不提及内部参考的情况下回答. 我们问:我们有汽油吗?是.不:给我坦克物品,这样我就可以检查一下我们是否有汽油. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |