2010-09-12 3 views
5

Ich würde gerne wissen, wie mehrere aggregierte Stamm in CQRS erstellt werden.mehrere aggregierte Root-Erstellung in einem einzigen Transkation in CQRS

Beispiel: Ich habe einen Handapparat aggregiert Wurzel und Simcard Aggregat root. Die ID von diesem Aggregat sollte Teil des Subskriptionsaggregats root sein.

Ich muss ein Subskriptionsaggregat basierend auf SimCard und einem Handset.SimCard und Handset Aggregat nicht im System vorhanden erstellen. Sie werden erstellt, wenn das Abonnement erstellt wird. Wenn das Abonnement gelöscht wird, werden SimCard und Mobilteil nicht gelöscht. Geschäftsgrund: Benutzer kann verschiedene SimCard in das gleiche Handset einsetzen oder das Handgerät unterstützt Dual SimCards.

Geschäftsregel: Telefonnummer sollte eindeutig sein. Handset serialNumber sollte eindeutig sein. Ein Abonnement ist mit einem Mobilteil verbunden Ein Mobilteil ist mit einer oder mehreren Telefonnummern verbunden.

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; 
    } 
    } 
  • Zitierten Text ausblenden -
  • Zitierten Text anzeigen
+0

Welche Befehl versuchen Sie zu modellieren? der AddSubsriptionCommand? – roundcrisis

Antwort

Verwandte Themen