c# - Tutorial de extensión reactiva(Rx) que está actualizado
.net system.reactive (4)
Estoy bastante interesado en las extensiones reactivas, pero no puedo encontrar un tutorial actualizado. Comencé con Curando los blues asíncronos con las Extensiones reactivas para .NET pero está desactualizado Puedo descubrir algunos cambios, pero no pude hacer funcionar muchos ejemplos.
Encontré muchos artículos en la web, principalmente desde 2009,2010, pero también son incompatibles con la versión actual. Estoy especialmente interesado en usar Rx con Windows Phone y WebClient:
WebClient wc = new WebClient();
var o = Observable.FromEvent<DownloadStringCompletedEventArgs>(wc, "DownloadStringCompleted").Select(newString => newString.EventArgs.Result);
// Subscribe to the observable, and set the label text
o.Subscribe(s => myLabel.Text = s);
// Start the download
wc.DownloadStringAsync(new Uri("http://www.data.com/service"));
No trabaje más y reemplazar FromEvent
con FromEventPattern
no es suficiente.
¿Alguien me puede indicar un recurso actualizado?
Cuando se aprende Rx, lo primero es entender la filosofía detrás de IObservable y cómo su naturaleza basada en empuje se compara con IEnumerable. Sugiero la siguiente para una buena explicación: Un tutorial más sencillo para extensiones reactivas.
Lee Campbell tiene buenas series que explican el api y cuándo usarlas. También intenta mantenerlo actualizado con los últimos lanzamientos: Extensiones reactivas para .NET una Introducción La serie ya está disponible como libro en Introducción a Rx
Por cierto, también he escrito una entrada de blog sobre cómo resolver un problema de la vida real con rx: Uso de Extensiones reactivas para transmitir datos desde la base de datos
Espero que esto ayude.
Encontré un proyecto de "aprender haciendo" llamado Reactive Extensions (Rx) Koans .
Se actualizó por última vez en marzo de 2012, por lo que está bastante actualizado.
Definición de ''Koan'' Kōans es una palabra zen que significa la iluminación o el despertar de una persona, generalmente a través de un enigma o acertijo. El más común es "¿Cuál es el sonido de una mano que aplaude?"
Está hecho de una serie de pruebas unitarias casi completas que debe terminar de tal manera que se pasen. Usted hace esto ''llenando los espacios en blanco''.
Es bastante ordenado, bastante fácil de completar y proporciona una valiosa información.
Ah, sí, y está hecho por Bart De Smet del equipo Rx.
Aquí hay una prueba de unidad típica:
[TestMethod]
public void DoingInTheMiddle()
{
var status = new List<String>();
var daysTillTest = Range.Create(4, 1).ToObservable();
daysTillTest.Do(d => status.Add(d + "=" + (d == 1 ? "Study Like Mad" : ___)))
.Subscribe();
Assert.AreEqual("[4=Party, 3=Party, 2=Party, 1=Study Like Mad]", status.AsString());
}
Lea este libro en línea línea por línea (cada línea) y practique. Esto es bueno, lo hice cuando empecé con Rx.
Por mucho, el mejor recurso que me ayudó a envolver mi cabeza en Rx es: http://www.introtorx.com/
Estoy pensando que esto le pasa a mucha gente, pero no puedes encontrar ese sitio cuando buscas las palabras clave "Rx tutorial". ¡Piensa que alguien necesita agregar algunas etiquetas al sitio!