pense que oui que j'ai ce genre d'événements de domaine:Événements de domaine - L'héritage ou l'utilisation de énumérations
class BookChangedName...
class BookType1ChangedName extends BookChangedName...
class BookType2ChangedName extends BookChangedName...
Est-ce mieux ou:
class BookChangedName{
enum bookType = BOOK_TYPE_1;
}
Comme ils disent l'héritage d'utilisation que s'il y a un comportement différent entre les classes, je suppose ici que je voudrais aller avec l'échantillon enum (cas n ° 2) - puisque les événements de domaine sont simplement simples DTO simples.
Mais encore une fois, dans mon domaine, ces différents types d'événements ont des significations différentes (des chemins de traitement différents). Donc, si je l'utilise par exemple # 1 je finirais avec beaucoup de:
if(event instanceof BookType1ChangedName){
//do smth in domain
}
else if(event instanceof BookType2ChangedName){
//do smth in domain
}
et aussi je ne pouvais pas être aussi explicite que:
when(BookType1ChangedName event){...
je dois faire une sorte de pré -Traitement comme:
@EventHandler(matcher_pattern = event->event.bookType==BOOK_TYPE_1)
when(BookChangedNameevent){...
Si vos types de livre sont des agrégats différents, peuvent être avec un parent unique si vous utilisez l'héritage, vous pouvez utiliser le même événement et avoir des gestionnaires dans la classe de base. –