我很困惑何时使用域事件以及何时使用双重调度. Udi鼓励我们使用域事件来维护模型的封装并远离贫血设计,但在我看来,域事件只能在操作执行或突然结束后使用,而不是在操作正在进行时使用.
例如:在解决某些业务逻辑时,我需要访问存储库,然后根据该值,我可以提升域事件.但问题是模型在解决业务逻辑时如何访问存储库,在我看来我们可以使用双重调度.
请告诉我,以上陈述是否有效?
解决方法
有很多
talking about this.
我个人与Szymon Pobiega签约:
My own rule of thumb is use Domain Events (as desscribed by Udi) as a preferred way of IoC when interaction can be made one-way. If it can’t,I use double dispatch.
For eg -: while solving some business logic i need to access repository,and then based on value,i can raise domain events.
您的聚合根应包含执行操作所需的所有内容.在做某事时不应该需要存储库.聚合根绘制事务边界.