Каков современный способ создания eventbus с использованием RxJava2?

В моем предыдущем проекте я использовал Otto EventBus для связи фрагментов с операциями, прикрепленных событий для вложенных фрагментов и действий, а также для обработки push-уведомлений.

Для будущих проектов я хотел использовать RxJava2 и построить Eventbus, используя его. Я хотел знать, каков современный способ сделать это, поскольку блоги и репозитории, связанные с ними, старые.

Находки об этом до сих пор:

  1. Библиотеки EventBus устарели в пользу RxJava (хорошо)

  2. Создать eventbus с использованием RxJava просто. (Хорошо) https://blog.kaush.co/2014/12/24/implementing-an-event-bus-with-rxjava-rxbus/

  3. Используйте RxRelays не только Rx Subject (хорошо)

  4. RxRelay репозиторий утверждает, что когда ваше приложение становится все более и более реактивным, вам не понадобится RxRelay (!!)

Каков современный способ достижения шаблона Eventbus, который также может обрабатывать события с ошибками в RxJava2. Следует ли вообще использовать шаблон eventbus в мире RxAndroid. Существуют ли альтернативные подходы к шаблону Eventbus?

1 ответ

Одна из самых мощных архитектур для обработки событий и состояний в реактивном мире - это поток. Он много заимствует из автобусов для мероприятий, но добавляет к нему аккуратные вещи.

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

Это довольно хорошая статья для начала, но есть также множество библиотек, которые стремятся упростить ее для вас (я сам создаю одну из них)

Другие вопросы по тегам