Closed yc-2503 closed 5 months ago
首先这种历史记录与业务关系不大,如果放在聚合根的Class里处理并不太合适; 并且这种历史记录,与业务关系不大,放到应用层去处理也不合适; 如果放到 领域事件中处理,但是DomainEventHandler的职责是发起命令, 在领域事件中处理也不太合适; 如果放到 领域服务中处理,那对订单的所有修改行为基本上都要放到领域服务中了,订单的充血模型就会变成一个贫血模型
应该是在领域事件处理器中,发起历史记录的命令。 例如 订单创建,会发起 OrderCreatedDomainEvent,由OrderCreatedDomainEventHandler来处理该事件,并发出命令RecordOrderCreatedCommand,来记录历史记录
OrderCreatedDomainEvent
OrderCreatedDomainEventHandler
RecordOrderCreatedCommand
首先这种历史记录与业务关系不大,如果放在聚合根的Class里处理并不太合适; 并且这种历史记录,与业务关系不大,放到应用层去处理也不合适; 如果放到 领域事件中处理,但是DomainEventHandler的职责是发起命令, 在领域事件中处理也不太合适; 如果放到 领域服务中处理,那对订单的所有修改行为基本上都要放到领域服务中了,订单的充血模型就会变成一个贫血模型