je modèle suivant:Les meilleures pratiques pour la publication de changements d'état d'une entité
public class Team {
public Guid Id {get; set;}
public string Name {get; set;}
public string League {get; get;}
public int Rating {get; set;}
}
Lors de la création d'une nouvelle équipe dans le système, je publie l'événement: TeamCreated
au bus de service:
{
"MessageId": "33909eaf-56a1-4467-a01a-64b94f10490c"
"MessageType": "TeamCreated",
"CreationDate": "20-01-2016",
"Payload": {
"Id": "11111www-56a1-4467-a01a-64b94f000111",
"Name": "Toronto Maple Leafs",
"League": "NHL NorthEast",
"Rating": 100
}
}
suivant que cette entrée a été modifiée pour ce qui suit:
{
"MessageId": "33909eaf-56a1-4467-a01a-64b94f10490c"
"MessageType": "TeamUpdated",
"CreationDate": "20-01-2016",
"Payload": {
"Id": "11111www-56a1-4467-a01a-64b94f000111",
"Name": "Toronto Maple Leafs",
"League": "NHL NorthEast",
"Rating": 50
}
}
comme vous le voyez, il u Le message pdated contient toujours la valeur de toutes les propriétés et pas seulement la propriété modifiée qui est Rating de l'équipe.
Mon modèle, dans un système réel, possède plus de 50 propriétés et je ne souhaite pas créer d'événements distincts pour chaque propriété lors de sa mise à jour. Spécialement parce qu'il peut être le cas que plus d'une propriété a été modifiée dans une mise à jour.
Existe-t-il un modèle défini pour ce scénario dans l'architecture d'approvisionnement d'événements?
Très bien expliqué. – plalx
+1 à cela. Si vous possédez plus de 50 propriétés associées à un événement ThingUpdated, vous devez absolument le diviser en plusieurs événements de domaine. – tomliversidge