【问题标题】:How to choose the aggregate root in this scenario?在这种情况下如何选择聚合根?
【发布时间】:2021-11-15 06:45:58
【问题描述】:

我有 4 个实体:

  • 电影
  • 预定的电影
  • 门票
  • 订票 这是er图: Er diagram

我将聚合根设计如下:

带有实体预定电影的电影 TicketReservation 与实体票

问题是,票和预定电影之间的关系。如何在不违反“聚合只能通过其根从外部引用”的规则的情况下做到这一点?

【问题讨论】:

    标签: java spring spring-boot aggregate domain-driven-design


    【解决方案1】:

    如果您希望 Ticket 引用预定电影,那么 ScheduledMovie(或者也许 Showing 更适合无处不在的语言?)希望成为它自己的聚合根。

    所以你有

    • Reservation 持有实体票证
    • 票是指预定电影/放映
    • ScheduledMovie/Showing 指的是电影

    【讨论】:

    • 好的,但是 ScheduledMovie/Showing 和 Movie 之间的通信需要在一个事务中进行。
    猜你喜欢
    • 1970-01-01
    • 2021-01-02
    • 2022-11-02
    • 2020-10-15
    • 2013-05-16
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多