Dove dovrebbero essere aggiunti gli eventi del dominio: in entità o radici aggregate?

-1

Sto progettando le classi base e non so se dovrei aggiungere il campo 'domainEvents' alla classe Entity o solo alla classe AggregateRoot.

Devo aggiungere il codice per aggiungere e rimuovere eventi in Entity.cs o AggregateRoot.cs

private List<INotification> _domainEvents;
public IReadOnlyCollection<INotification> DomainEvents => _domainEvents;
public void AddDomainEvent(INotification eventItem) {}
public void RemoveDomainEvent(INotification eventItem) {}
    
posta Jhon Duck 29.09.2018 - 16:00
fonte

1 risposta

0

Tutto dipende dal modello di dominio e dallo scopo di questi eventi.

Forse potrebbe essere sensato aggiungere un evento di dominio per aggregare solo le radici, se lo scopo è gestire eventi che riguardano l'aggregato nel suo insieme.

Ma forse avrebbe senso aggiungerli a classi di entità rilevanti all'interno dell'aggregato. Prendi il consueto esempio di aggregazione Car , con Wheels e Engine come entità. Potrebbe quindi avere senso aggiungere eventi a livello di entità, per gestire eventi correlati alla pressione dei pneumatici o alla temperatura del motore.

    
risposta data 29.09.2018 - 17:17
fonte

Leggi altre domande sui tag