Презентация на тему: RX. NET

RX. NET
RX. NET
RX. NET
Особенности
IObserver <in Т>
IObservable <out Т>
RX. NET
RX. NET
Поддерживаемые языки
1/9
Средняя оценка: 4.7/5 (всего оценок: 34)
Код скопирован в буфер обмена
Скачать (775 Кб)
1

Первый слайд презентации: RX. NET

Изображение слайда
2

Слайд 2

Reactive Extensions или Rx (по аналигии с PFX ) или “реактивные расширения” – это библиотека, точнее набор библиотек, которые позволяют работать с событиями и асинхронными вызовами в композиционном стиле, в т.ч. через Linq.  Цель этого фреймворка – помочь разработчикам писать код в котором фигурирует асинхронное взаимодействие.

Изображение слайда
3

Слайд 3

Rx был создан в Microsoft DevLabs. На данный момент, фреймворк поддерживает. Net 3.5SP1,.Net 4RC, Silverlight 3 и JavaScript. Rx состоит из двух базовых абстракций в пространстве имен System начиная с. NET 4.0, а именно  System.IObserver   и  System.IObservable.

Изображение слайда
4

Слайд 4: Особенности

Rx  библиотеки заточены на асинхронную обработку без блокировки обработки данных. Rx   предлагает простой API  с выделенными каналами для передачи данных, ошибок и сигнала об окончании потока данных. В  Rx  библиотеках есть больше сотни операторов, которыми можно обрабатывать потоки идущие к подписчику. Операторы можно собирать в цепочки, т.е операторы composable. В некоторых реализациях  RX, например, RxJava2, хорошо поддерживается backpressure, т.е. ситуация, когда продюсер выдает данные быстрее, чем подписчик может обработать. Для Rx   messaging не нужно поднимать специальные серверы. Все включено в код вашего приложения. В языках, которые поддерживают multi-threading, работа со  threads упрощается, как и переключения с одних threads на другие. Разработчики на Андроиде — это оценят, ибо там вывод на экран всегда должен выполняться main thread, а вычисления — другими.

Изображение слайда
5

Слайд 5: IObserver <in Т>

Предоставляет механизм получения уведомлений. Интерфейс объявляет три метода: void OnNext (T value ) — предоставляет следующий элемент в последовательности. void OnError ( Exception ex ) — позволяет передать Exception и адекватно его обработать. Подразумевается, что после этого сообщения последовательность заканчивается и наблюдателям больше не нужно следить за изменениями. void OnCompleated () — сообщается, что последовательность закончилась и больше не будет новых сообщений, не нужно их ожидать.

Изображение слайда
6

Слайд 6: IObservable <out Т>

Производит уведомления и позволяет подписываться наблюдателям. Объявляет один метод: IDisposable Subscribe ( IObserver <Т> observer ) — принимает наблюдателя ( IObserver ) параметром и подписывает его на сообщения. Обратите внимание, что метод возвращает IDisposable, с помощью чего можно потом вызывать метод Dispose, тем самым отписав и уничтожив наблюдателя.

Изображение слайда
7

Слайд 7

В отличии от интерфейсов  IObserver <T>  и  IObservable <T>, которые находятся в сборке  System.Observable, классы  Observable   и  Observer   находятся в сборке  System.Reactive, являются статическими, и главной их функцией являются LINQ - образные расширения для Rx.

Изображение слайда
8

Слайд 8

Rx также очень хорошо подходит для введения и управления параллелизмом с целью  разгрузки  . То есть выполнение заданного набора работ одновременно для освобождения текущего потока. Очень популярное использование этого - поддержка адаптивного интерфейса.

Изображение слайда
9

Последний слайд презентации: RX. NET: Поддерживаемые языки

JavaScript Java C++ Python Ruby

Изображение слайда