Sono nuovo per le app gestite dagli eventi e dall'inizio ho un problema che non so come risolvere.
Lavoro nell'e-commerce e cerco sempre di trasmettere eventi significativi ai miei aggregati come PriceIncreasedEvent
, ProductDeactivatedEvent
, OutOfStockEvent
ecc.
Ma molte volte voglio solo fare un semplice stile "CRUD" con il mio aggregato. Ad esempio, l'utente può modificare l'immagine del prodotto, ma non voglio confondere il mio aggregato con ImageUploadedEvent
event, poiché non fa parte del dominio che dovrebbe gestire.
Tutto quello che voglio fare è semplicemente impostare il nuovo percorso dell'immagine nel database. Ma dal momento che le "proiezioni" dovrebbero essere usa e getta, non posso farlo perché perderei informazioni.
Questo accade spesso con altri tipi di dati editoriali, come il titolo / nome di qualcosa. Non voglio creare un evento TitleChanged
, so che è un odore di codice, non importa per il dominio che TitleChanged
. Voglio solo cambiarlo.
Forse l'eventourcing era una cattiva idea? Come gestite questi tipi di scenari?