步骤 8:和应用交互

    图 8. 购物车前端

    用户界面通过 Servlet 进行交互,其中命令由 分派:

    另外,您可能会注意到这些命令是通过命令网关进行调度的。在示例中,我以异步方式发送 AddItemCommand,而不等待流程结束。我注册了一个 command callback 以便出现最终异常时能被通知。这允许系统通知用户,如果库存中的实际可用性是否小于所请求的数量。(如果另一个用户在第一个用户正在查阅目录时将该商品添加到自己的购物车中,可能会发生这种情况。)