Pregunta Buen ejemplo de uso de extensiones reactivas [cerrado]


Entiendo los conceptos básicos de Rx. ¿Dónde estoy luchando es cómo usarías esto más allá de los ejemplos académicos? ¿Cuáles son algunos escenarios comunes y simples del mundo real donde Rx es una solución mucho mejor que la que tenemos hoy en día en .NET?


75
2018-03-31 05:47


origen


Respuestas:


Para un montón de buenos ejemplos, ver la wiki de 101 Rx Samples


38
2018-03-31 06:04



Rx le permite escribir código que orquesta eventos concurrentes juntos. Si alguna vez usó el TPL (por ejemplo, Tarea), luego tuvo que hacer volteretas complicadas para intentar Continuar con o Esperar todo en las cosas correctas, Rx es para usted.

Por ejemplo, el flujo de trabajo de "Para cada elemento de esta matriz, llame a un servicio web, y cuando todas esas solicitudes vuelvan, haga otra cosa. Si cualquiera de ellas falla, falle por completo".

Divulgación, enchufe Shameless por delante: El libro que Jesse Liberty y yo escribimos sobre Rx fue diseñado para resolver exactamente esta pregunta, "¿Cómo uso Rx en mi trabajo diario?"; "Que puedo hacer ¿con este?"


26
2017-11-07 02:18



Primero que nada, IObservable es un evento. Por lo tanto, en cualquier lugar donde use eventos internamente, puede usar IObservable, y si luego necesita aplicar LINQ a este evento, puede hacerlo sin refactorizar.

En segundo lugar, RX es apto para cualquier situación cuando necesita ejecutar su código asincrónicamente. Por ejemplo, llamar a un servicio web o cargar una imagen grande.

Pero cuando realmente comienza a brillar, si su programa alcanza cierta "masa crítica" de uso IObservable y usted comienza combinatorio diferentes observables que se sorprenderían de cómo fácil algunas tareas se vuelven.


25
2018-04-25 02:03



  • Medidas del dispositivo
  • Datos que llegan en un bus de mensajes

Ahora, en ambos casos, la forma estándar de recibir los datos es a través de eventos, pero si quiero una sintaxis de consulta o composición, entonces RX me la proporciona cuando los eventos no lo hacen.


4
2018-04-19 18:44



Rx es muy general, por lo que tiene una utilidad ilimitada, al igual que IEnumerable / IEnumerator tiene una utilidad ilimitada. IE extrae valores, IO empuja valores.

Foreach es un ejemplo concreto de dónde IEnumerables son útiles, pero eso no explica IEnumerable, ni yield ni nada. Lo mismo ocurre con Rx.

Ser capaz de ver algo desde un punto de vista de extracción, o un punto de vista de empuje, y ser capaz de controlar la dirección o los medios, es muy poderoso, porque ahora puede empujar y jalar los cálculos a voluntad, usando la consulta LINQ operadores para "libre", contra un IO, porque es el doble matemático de IE.


2
2018-05-02 06:10



Acabo de echarle el primer vistazo a Rx, pero un proyecto divertido para el que lo usaré es crear un widget de Silverlight que muestre actividad en nuestra aplicación web ASP.NET MVC (a qué métodos de acción se llamó, por qué usuario, etc.) . Parece que Rx puede ayudar con muchas cosas en este proyecto, como la gestión de simultaneidad y la aceleración.


0
2018-06-07 22:43