![]() |
1
0
在实践中,这似乎不是一个特别好的启发;将域划分为聚合更重要的是 行为 而不是结构。你需要知道帐户的详细信息才能更改任务吗?您需要知道更改帐户的任务的详细信息吗?
这是一个很大的暗示,任务可能是一个单独的集合;如果您希望许多用户同时操作他们的任务,而不需要互相干涉,则情况尤其如此。
,或者只是 很快 ? 你可能应该复习一下格雷格·杨关于 warehouse systems . 基本思想是域模型没有试图阻止用户做事情;相反,它的重点是在模型怀疑可能存在问题时创建“异常报告”。 在您的示例中,这可能看起来像是用户直接使用任务预算 分离骨料 那个 异步 另一种观点是乌迪·达韩的文章 Race Conditions Don't Exist
你有许多用户在更新任务预算;这意味着它们是 协作 与客户预算互动。因此,您应该考虑允许这种协作在没有用户争用的情况下发生的设计。
我猜你最终会发现自己
我觉得外面没有太多。你也许可以从格雷格·杨的演讲中得到一些想法 occasionally connected systems .
有一种替代方法可以将来自外部世界的消息视为命令;你可以认为他们是
事件
其他后果可能会升级到一个人身上,或者这两个决定相互抵消,或者。。。。
您仍在更新您的记录簿,因此它仍然是CQS意义上的“命令”
|
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |