Ci sono due possibili definizioni di eventi qui e dovrebbero essere trattati in modo diverso.
Se stai parlando di un evento DDD all'interno di un dominio, andrei con i due eventi distinti. Gli eventi di dominio dovrebbero indicare che qualcosa di significativo sta accadendo e deve essere affrontato. C'è un'aspettativa che qualcosa all'interno del dominio gestirà l'evento in modo appropriato. Quando crei un evento di dominio, dovresti avere in mente un gestore specifico. Nota che questo significa che se c'è un codice che deve gestire qualsiasi cambiamento di stato indipendentemente dal nuovo valore, avresti anche bisogno di UserStatusChanged.
Se stai parlando di quali eventi memorizzare in un Event Store, andrei con il generico UserStatusChanged. Questi eventi non dovrebbero incorporare la logica di dominio, riflettono solo le modifiche di stato nel tuo dominio. Se si limita a UserBecameActive e UserBecameInactive, si intende che questi sono gli unici due stati significativi. Capisco che quelli sono probabilmente gli unici due stati che esistono al momento, ma cosa succede quando viene aggiunto un terzo (come "Membership Pending"). Aggiungete ora un terzo evento? Che dire del codice a cui non interessa il valore di UserStatus, solo che è cambiato (gli algoritmi di cache vengono in mente)? Per gli eventi del negozio di eventi, non è necessario avere un gestore specifico in mente.
Gli eventi dell'archivio degli eventi dovrebbero dire "qualcosa è cambiato", non "qualcosa cambiato in un valore importante". Spetta al dominio decidere.
Gli eventi di dominio dovrebbero dire "sta accadendo qualcosa di significativo" indipendentemente dal fatto che ciò comporti un cambiamento di stato o meno.