Я использую Event Bus в своих приложениях (например, greenrobot/EventBus). Но я нахожу некоторые недостатки в использовании Event Bus:
- Выполнение цепочек задач затруднено
- Множество классов для представления событий
- Меньше четкого кода (ну, это еще можно проследить, но не так понятно)
Я изучаю новые методы решения этой проблемы. И я немного читал о RxJava и задаюсь вопросом, может ли это быть решением.
Итак, мои вопросы о RxJava (на основе того, что я читал недавно):
- Может ли наблюдатель RxJava быть зарегистрированным в любое время? Поэтому не только при создании Observable. С EventBus это возможно, я могу подписаться в любое время, а не только при создании Observable.
- Как вы обрабатываете двух или более издателей, публикующих однотипные события (например, навигационное событие)?
- Тесное связывание издателя (ов) и подписчика означает, что я должен явным образом указывать издателя каждый раз. Поэтому я должен волноваться не только с типом событий, но и с создателями. С EventBus мне нужно только беспокоиться о типе событий и не создателей.