【问题标题】:Save/Validate Entity保存/验证实体
【发布时间】:2011-05-25 19:47:24
【问题描述】:

我是领域驱动设计的新手,并且正在学习将其应用到我当前的项目中。我希望你们中的一些人已经走过了这条路,可以帮助我。

我有一个关于将 UI 更改保存回实体(订单)的问题。

场景:
一个。审批者在 Web 上打开待审批的订单(聚合根)。进行一些更改并单击“批准”按钮。
湾。 UI 将订单更改转换为 DTO,并将其发布到 Web 服务进行处理。
C。该服务通过调用 orderRep.GetByID(ApplicationNumber) 从 OrderRepository 中提取订单

问题
1. 如何将 OrderDTO 中可用的 UI 更改发布到 Order?
2. 为订单补水时我需要注意哪些不同的事情? (如果我们必须确保域对象(Order)不会出现在 由于更改而导致的无效状态)

【问题讨论】:

    标签: domain-driven-design


    【解决方案1】:

    每个用户操作都应该对应应用服务层中不同的命令方法。大多数情况下,它只对应于对域对象的一次调用。

    您的 Order 域对象可能没有足够细粒度的方法。

    Approve() 应该只是一个方法,而不是一个公共的 setter。如果将Order 对象置于无效状态,则在Approve() 内引发异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-09
      • 1970-01-01
      • 2011-03-20
      相关资源
      最近更新 更多