Разработчики Guava решили использовать аннотации:
class EventBusChangeRecorder {
@Subscribe
void recordCustomerChange(ChangeEvent e) {
recordChange(e.getChange());
}
}
... вместо классических интерфейсов:
class EventBusChangeRecorder implements Handler<ChangeEvent>{
void handle(ChangeEvent e) {
recordChange(e.getChange());
}
}
Это делает проверку времени компиляции невозможной.Поэтому мне интересно, в чем преимущество этого подхода.
Видите ли вы какие-либо преимущества аннотаций здесь?