Какой архитектурный паттерн используется в концепции RxJava

«Какой архитектурный паттерн используется в концепции RxJava» — вопрос из категории Реактивное программирование, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

RxJava использует реактивный подход, основанный на шаблоне Observer.

Основные компоненты:

  • Observable (или Flowable/Single) – источник данных, который эмитит события.
  • Observer – подписчик, обрабатывающий эти события (onNext, onError, onComplete).

Пример:

Observable.just("Hello, RxJava!")
    .subscribe { value -> println(value) }

Преимущества:

  • Асинхронность без ручного управления потоками.
  • Четкое разделение источника данных и подписчика.
  • Гибкость операторов (map, filter, flatMap).

Альтернативы: Kotlin Flow, LiveData (для UI).