EventBus / PubSub против (реактивных расширений) RX с точки зрения ясности кода в однопоточном приложении

В настоящее время я использую EventBus /PubSub архитектура / шаблон с Scala (и JavaFX) для реализации простого приложения для организации заметок (вроде клиента Evernote с некоторыми дополнительными функциями отображения разума), и я должен сказать, что мне действительно нравится EventBus над шаблоном наблюдателя.

Вот некоторые библиотеки EventBus:

https://code.google.com/p/guava-libraries/wiki/EventBusExplained

http://eventbus.org (в настоящее время, кажется, не работает), это то, что я использую в моей реализации.

http://greenrobot.github.io/EventBus/

Вот сравнение библиотек EventBus:http://codeblock.engio.net/37/

EventBus связан сшаблон публикации-подписки.

Тем не мение !

Недавно я взялРеактивный курс от Coursera и начал задаваться вопросом, используя лиRXJava вместо EventBus упростит код обработки событий еще больше воднопоточный приложение ?

Я хотел бы спросить об опыте людей, которые программировали с использованием обеих технологий (какая-то библиотека Eventbusа также некоторая формареактивные расширения (RX)): было проще справиться со сложностью обработки событий с помощью RX, чем с архитектурой шины событийучитывая, что не было необходимости использовать несколько потоков ?

Я спрашиваю это, потому что я слышал вРеактивные лекции на Coursera тотRX приводит к гораздо более чистому коду, чем использование шаблона наблюдателя (то есть нет «ада обратного вызова»), однако я не нашел никакого сравнения между архитектурой EventBus иRXJava, Таким образом, ясно, что и EventBus, и RXJava лучше, чем шаблон наблюдателя, ночто лучше в однопоточных приложениях с точки зрения ясности кода и ремонтопригодности?

Если я правильно понимаю, основной смысл продажиRXJava заключается в том, что он может использоваться для создания отзывчивых приложений, если есть операции блокировки (например, ожидание ответа от сервера).

Но меня не волнует асихронность, все, что меня волнует, - это поддержание кода в чистоте, неразберихе и легкости рассуждения воднопоточное приложение.

В таком случае, все же лучше использовать RXJava, чем EventBus?

Я думаю, что EventBus был бы более простым и чистым решением, и я не вижу никакой причины, почему я должен использовать RXJava дляоднопоточное приложение в пользу простой архитектуры EventBus.

Но я могу ошибаться!

Пожалуйста, исправьте меня, если я ошибаюсь, и объясните, почему RXJava будет лучше, чем простой EventBus в случаеоднопоточное приложение где не выполняются операции блокировки.

Ответы на вопрос(4)

Ваш ответ на вопрос