Мне трудно понять преимущества использования концепции шины событий в GWT.Я прошел много примеров, показывающих, как его использовать.Я понимаю, как это сделано, но я не понимаю, почему это помогает.
Я беру пример:
Button button = new Button("click");
button.addListener(new ButtonListenerAdapter(){
@Override
public void onClick(Button button, EventObject e) {
doSomething() ;// must replace it with fireEvent later :(
}
});
Чтобы добавить возможность шины событий в приведенный выше код, мы должны ввести больше кода:
1) создать класс событийкоторый расширяет Event (реализует 2 метода)
2) создает интерфейс для обработчика событий, где dosomething () будет абстрактным
3) реализует интерфейс
4) Класс всобытие, которое происходит, должно реализовать интерфейс HasHandler, ввести экземпляр HandlerManager, реализовать fireEvent, зарегистрировать событие и запустить событие.
Теперь моя проблема в том, что, если у меня есть 50 событий пользовательского интерфейса, я не вижу выгоды от дублирования вышеупомянутых 4 шагов, где это должно быть.Если я не сделаю этого, с какой действительно проблемой я столкнусь.
Редактировать:
Это тот факт, что обработчики событий и событий разделены на классыделает шаблон EventBus интересным?
AddContactEvent.java
AddContactEventHandler.java
RemoveContactEvent.java
RemoveContactEventHandler.java