,这样想,我有这样的域名事件:域事件 - 继承或使用枚举
class BookChangedName...
class BookType1ChangedName extends BookChangedName...
class BookType2ChangedName extends BookChangedName...
那是好还是:
class BookChangedName{
enum bookType = BOOK_TYPE_1;
}
仅当存在由于他们说使用继承类之间的不同行为,我假设在这里我会使用枚举示例(案例#2) - 因为域事件只是简单的DTO。
但是,在我的域中,这种不同类型的事件具有不同的含义(不同的处理路径)。所以,如果我使用例如#1我最终会与很多:
if(event instanceof BookType1ChangedName){
//do smth in domain
}
else if(event instanceof BookType2ChangedName){
//do smth in domain
}
,也是我不能显式为:
when(BookType1ChangedName event){...
我将不得不做一些预 - 处理,如:
@EventHandler(matcher_pattern = event->event.bookType==BOOK_TYPE_1)
when(BookChangedNameevent){...
如果您的booktype是不同的聚合体,如果您使用继承,可能会与单个父体一起使用,您可以使用相同的事件并在基类中具有处理程序。 –