Я создаю MVP-приложение в GWT.Мотивация для шины событий в GWT
- Существует несколько панелей, и каждый из них виден в любое время.
- Каждая панель имеет презентатор, и есть один AppController, который находится выше всех докладчиков.
- Есть некоторые события уровня приложения, которые возникают внутри одного презентатора, но имеют последствия для других докладчиков.
- Предлагаемая архитектура для этого, похоже, включает в себя Event Bus. Однако я не уверен, что вижу преимущество над чем-то более простым.
- В частности, не было бы проще просто позволить AppController (и только AppController) подписаться на события из любого презентатора? Затем AppController может сообщить каждому докладчику, что делать, учитывая событие.
- «Автобус событий» кажется квази-глобальной переменной. Но если вы можете выполнить одно и то же с помощью более точно определенных методов (т. Е. Методов, которые AppController вызывает для каждого презентатора), это не так предпочтительно?
Чтобы выразить свою озабоченность более точно: зачем вообще вводить автобус событий, а не просто позволять событиям «подниматься» на соответствующий уровень принятия решений? Для меня это похоже на самое простое расширение концепции MVP, и это не требует новой идеи Event Bus. Я не понимаю, к какой проблеме был подключен Event Bus.
Я нашел документацию GWT для MVP запутанной. Вы можете найти его здесь - https://developers.google.com/web-toolkit/articles/mvp-architecture – SSR
SSR - Спасибо. Я прочитал эту документацию, но, что интересно, в этом документе нет реальной мотивации для шины событий.Он просто говорит: «Вы захотите положиться на автобус событий», который на самом деле не проясняет ситуацию. –