Аннотации против интерфейса в Guava EventBus - PullRequest
11 голосов
/ 24 января 2012

Разработчики Guava решили использовать аннотации:

class EventBusChangeRecorder {
  @Subscribe 
  void recordCustomerChange(ChangeEvent e) {
    recordChange(e.getChange());
  }
}

... вместо классических интерфейсов:

class EventBusChangeRecorder implements Handler<ChangeEvent>{
  void handle(ChangeEvent e) {
    recordChange(e.getChange());
  }
}

Это делает проверку времени компиляции невозможной.Поэтому мне интересно, в чем преимущество этого подхода.

Видите ли вы какие-либо преимущества аннотаций здесь?

1 Ответ

19 голосов
/ 24 января 2012

Я думаю, что на вопрос гуавы есть ответ вики .

...