2010-09-12 60 views
5

我想知道如何在CQRS中创建多个聚合根目录。在CQRS中的一个单一transcation中创建多个聚合根目录

例如:我有一个手机聚合根和Simc​​ard聚合根。来自这些聚合的id 应该是订阅聚合根的一部分。

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

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

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; 
    } 
    } 
  • 隐藏引用文字 -
  • 显示引用的文字
+0

你尝试建模什么命令? AddSubsriptionCommand? – roundcrisis 2010-10-18 16:49:18

回答

相关问题