【问题标题】:multiple aggregate root creation in one single transcation in CQRS在 CQRS 中的一个事务中创建多个聚合根
【发布时间】:2010-12-25 17:57:56
【问题描述】:

我想知道如何在 CQRS 中创建多个聚合根。

示例:我有一个手机聚合根和 Simcard 聚合根。身份证 这些聚合应该是订阅聚合根的一部分。

我需要创建一个基于 SimCard 的 Subscription 聚合,并且系统中不存在 Handset.SimCard 和 Handset 聚合。它们是在创建订阅时创建的。 当 Subscription 被删除时,SimCard 和 Handset 未被删除。 商业原因:用户可能将不同的 SimCard 插入同一个手机或手机支持双 SimCard。

业务规则: 电话号码应该是唯一的。 手机序列号应该是唯一的。 一个订阅与一部手机相关联 一部手机与 1 个或多个电话号码相关联。

Class Handset { 
  String serialNumber 
 Handset(UUID id,serialNumber){ 
    super(id); 
    this.serialNumber=serialNumber; 
} 
} 

Class SimCard{ 
  String phoneNumber 
  SimCard(UUID id, String phoneNumber){ 
     super(id); 
        this. phoneNumber= phoneNumber;
  } 
 } 

Class Subscription { 
     UUID id 
     UUID deviceid 
      UUID simCardid 

    Subscription (UUID id, UUID deviceid, UUID simCardid){ 
             Super(id); 
             This. Deviceid= deviceid; 
             This. simCardid= simCardid; 
     } 
     }
  • 隐藏引用的文字 -
  • 显示引用的文字

【问题讨论】:

  • 你想模拟什么命令? AddSubsriptionCommand ?

标签: cqrs


【解决方案1】:
猜你喜欢
  • 2019-12-04
  • 1970-01-01
  • 2017-08-25
  • 1970-01-01
  • 2015-11-11
  • 2018-12-28
  • 2012-07-11
  • 2022-03-23
  • 2019-05-10
相关资源
最近更新 更多