CQRSで複数の集約ルートがどのように作成されるのか知りたいのですが。
例:受話器の集合ルートとSimcardの集合ルートがあります。これらのアグリゲートからのIDは、サブスクリプションアグリゲートルートの一部である必要があります。
SimCardとHandsetに基づいてサブスクリプションアグリゲートを作成する必要があります。SimCardとHandsetアグリゲートがシステムに存在しません。サブスクリプションが作成されるときに作成されます。サブスクリプションが削除された場合、SimCardとハンドセットは削除されません。ビジネス上の理由:ユーザーが同じハンドセットに異なるSimCardを挿入するか、ハンドセットがデュアルSimCardをサポートしている可能性があります。
ビジネスルール:電話番号は一意である必要があります。受話器のシリアル番号は一意である必要があります。1つのサブスクリプションが1つの受話器に関連付けられています1つの受話器が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;
}
}
- 引用テキストを非表示にする-
- 引用テキストを表示する