Аннотации и интерфейс в Guava EventBus

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

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

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

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

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

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

11
задан SolutionYogi 24 January 2012 в 21:00
поделиться