Цель этой серии статей — познакомить начинающего реактивного программиста с возможностями библиотеки.
RxJava — реализация принципов реактивного программирования для JVM. Это перевод обширного руководство от RxJava Криса Фруссиоса на основе ИнтроТоркс для Rx.NET. Это руководство не требует от вас каких-либо знаний в области реактивного или функционального программирования, однако предполагается, что у вас есть базовые знания Java. Материал в этих статьях предназначен для прочтения от начала до конца.
Его объем больше, чем у обычного учебника, но меньше, чем у настоящей книги.
Мы начнем с самых основ и будем переходить от раздела к разделу к более сложным сценариям и концепциям.
Каждый раздел был разработан так, чтобы быть самодостаточным и кратким, чтобы к нему можно было вернуться в будущем.
Примеры Эти материалы доступны в двух формах:
- Примеры с консольным выводом (рекомендуется для тех, кто читает впервые)
- Примеры самотестирования в форме Юнит тесты
Содержание:
- Часть первая – Введение
- Почему Rx?
- Типы ключей
- Жизненный цикл подписки И
- Часть вторая – Последовательности
- Создание последовательности
- Фильтрация последовательностей
- Изучать
- Агрегация
- Преобразование последовательности
- Часть третья – Управление последовательностями
- Часть четвертая — Параллелизм
Часть первая – Введение: Почему Rx?
Пользователи ожидают данных в реальном времени.Добро пожаловать в Rx. Rx — мощный инструмент, позволяющий решать проблемы в элегантном декларативном стиле функционального программирования.Им нужны твиты Сейчас .
Подтверждение заказа Сейчас .
Им нужны цены на Сейчас .
Как разработчику вам нужны сообщения, адресованные самим себе.
Вы не хотите, чтобы вас заблокировали в ожидании результата.
Вы хотите, чтобы результат пришел к вам, когда он будет готов.
Более того, с результатом хочется работать по частям: не хочется ждать, пока он загрузится.
Все перед отображением первой строки.
Мир перешёл в режим уведомлений.
У разработчиков есть инструменты для оповещения, это легко.
Им нужны инструменты для реагирования на уведомления.
Rx имеет следующие преимущества:
- Интуитивность
- Действия в Rx описываются в том же стиле, что и в других библиотеках, вдохновленных функциональным программированием, таких как Java Streams. Rx позволяет использовать функциональные преобразования в потоках событий.
- Действия в Rx описываются в том же стиле, что и в других библиотеках, вдохновленных функциональным программированием, таких как Java Streams. Rx позволяет использовать функциональные преобразования в потоках событий.
- Расширяемость
- RxJava можно расширить с помощью пользовательских операторов.
Хотя Java не позволяет вам сделать это элегантным способом, RxJava предлагает всю расширяемость, доступную в реализациях Rx на любом другом языке.
- RxJava можно расширить с помощью пользовательских операторов.
- Декларативность
- Функциональные преобразования объявляются декларативно.
- Функциональные преобразования объявляются декларативно.
- Компонуемость
- Операторов в Rx можно легко собрать для выполнения сложных операций.
- Операторов в Rx можно легко собрать для выполнения сложных операций.
- Конвертируемость
- Операторы в Rx могут преобразовывать типы данных путем фильтрации, обработки и расширения потоков данных по мере необходимости.
- Операторы в Rx могут преобразовывать типы данных путем фильтрации, обработки и расширения потоков данных по мере необходимости.
Когда следует использовать Rx?
Rx используется для составления и обработки последовательностей событий.Следует использовать Rx
- События пользовательского интерфейса, такие как перемещение мыши, нажатие кнопки.
- Такие события, как изменение свойств, обновление коллекции, «Размещение заказа», «Регистрация завершена» и т. д.
- События инфраструктуры (сообщения от системы, WMI или файловых менеджеров)
- Интеграция с событиями из шины сообщений, сообщениями из WebScoket API
- Интеграция с системы КЭП (StreamInsight, StreamBas)
- Результат Будущее или аналогичный узор
- Превратить Iterable в Observable просто для работы с ними через библиотеку Rx.
Теги: #перевод #rxjava #Реактивное программирование #reactivex #java
-
Платный Опрос: Кто Платит И Почему?
19 Oct, 24 -
Nikon И Fujitsu Объединяются
19 Oct, 24 -
Regnum Продаст Блокирующий Пакет Своих Акций
19 Oct, 24 -
2 Миллиона Доменных Имен Ес
19 Oct, 24 -
Freecr — Консольный Форум
19 Oct, 24