假设您正在DDD上建模SE (大约)。
您决定将"board“作为聚合根来实现。因此,董事会有一个方法AddNewQuestion(string question)
。
有一些商业规则规定,一组特定的合作伙伴(比如招聘广告的公司)应该被告知他们选择遵循的标签上的问题。
这里最干净的方法是什么?
是否应该将创建的新问题作为域事件发布到队列中,或者由后一个通知服务来获取和传递?我是否应该在域名服务上对帖子进行建模,以便它能够在董事会、通知服务等之间进行协调?我是否应将此(通知第三方)作为董事会实体的责任?
发布于 2017-07-10 17:11:39
是否应该将创建的新问题作为域事件发布到队列中,或者由后一个通知服务来获取和传递?我是否应该在域名服务上对帖子进行建模,以便它能够在董事会、通知服务等之间进行协调?我是否应将此(通知第三方)作为董事会实体的责任?
域事件几乎肯定是正确的起点。
域名事件的表面与消费者之间的管道可能是基于推拉的。
您可能还有至少一个业务模型需要处理--任何给定主题的事件都需要运行在模型中的某个点之上,该点知道当前对该主题的出价状态,以了解哪个企业收到了该事件的通知。
我是否应该在域名服务上对帖子进行建模,以便它能够在董事会、通知服务等之间进行协调?
域服务是编排问题的错误想法;您想要考虑的模式是“流程管理器”。
我是否应将此(通知第三方)作为董事会实体的责任?
不-分离关注点。
https://softwareengineering.stackexchange.com/questions/352515
复制相似问题