命令的结果可以快速返回,也可以慢速返回。用户等待订单完成,该订单应该很快。这是UI的期望。但在域中,这是一个期望吗?有界上下文是否必须等待另一个有界上下文返回状态才能立即向客户端返回相同的状态(本例中为UI)?
在我看来,DDD的有界上下文中的所有命令都可以是一项任务。因为这是一项任务,所以不会期望立即返回。通过这种方法,UI必须每15分钟左右轮询订单的状态。用户界面不能指望域服务立即返回任何状态。
通过这种方法,处理订单的行为可以通过多种方式完成。如果库存可用,则下达的订单可以将状态返回为成功。如果没有库存,则通知用户系统正在处理订单。当库存在第二天可用时,将下订单并将状态返回给用户(也作为电子邮件)。
想听听你的想法。