2010-11-24 3 views
1

Я не прочный графический программист, поэтому я пытаюсь понять различные архитектуры событий. Я разрабатываю систему (в GWT, но я не уверен, что это важно), где мы представляем несколько пользовательских событий. В целом, хорошая практика - создать событие и запустить само событие на шину событий?Должны ли события стрелять?

Следуя некоторым статьям и учебным пособиям в Интернете, у нас есть наш код контроллера, который фактически запускает события, но затем каждый контроллер должен дублировать код для запуска пользовательского события. Кажется, что если вы просто положили метод fire() на событие, вы можете избежать дублирования.

Каковы преимущества/недостатки этого?

ответ

1

Для того, чтобы сам пожар событий, вам нужно будет вставить экземпляр EventBus в событие при его создании. Это означает, что ваш контроллер (один newing до события) будет иметь:

new MyEvent(m_eventBus).fire(); 

Если вы переделки кода вроде этого:

MyEvent event = new MyEvent(); 
m_eventBus.fireEvent(event); 

, то вы не должны ставить любую логику или ссылки на служб внутри вашего экземпляра Event, где это действительно не нужно. Если вы используете GWT, класс HandlerManager уже реализует для вас автобус событий.

Смежные вопросы