web-dev-qa-db-fra.com

Tutoriel Reactive Extension (Rx) qui est à jour

Je suis très intéressé par les extensions réactives mais je ne trouve pas de tutoriel à jour. J'ai commencé avec Guérir les bleus asynchrones avec les extensions réactives pour .NET mais il est obsolète. Je peux comprendre certains changements, mais je n'ai pas pu obtenir de nombreux exemples.

J'ai trouvé de nombreux articles sur le Web, principalement depuis 2009,2010, mais ils sont également incompatibles avec la version actuelle. Je suis particulièrement intéressé par l'utilisation de Rx avec Windows Phone et 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"));

Ne travaillez plus et remplacer FromEvent par FromEventPattern ne suffit pas.

Quelqu'un peut-il m'indiquer une ressource à jour?

50
Igor Kulman

Lors de l'apprentissage de Rx, la première chose à faire est de comprendre la philosophie derrière IObservable et comment sa nature basée sur Push se compare à IEnumerable. Je suggère le suivant pour une bonne explication: n [nother] Tutoriel plus simple pour les extensions réactives

Lee Campbell a une belle série expliquant l'api et quand les utiliser. Il essaie également de le maintenir à jour avec les dernières versions: Reactive Extensions for .NET an Introduction La série est maintenant disponible sous forme de livre sur Introduction to Rx

Soit dit en passant, j'ai également écrit un article de blog sur la résolution de problèmes réels avec rx: tilisation d'extensions réactives pour diffuser des données à partir d'une base de données

J'espère que cela t'aides.

48
Giorgi

J'ai trouvé un projet "apprendre en faisant" appelé Reactive Extensions (Rx) Koans .
Il a été mis à jour pour la dernière fois en mars 2012, il est donc assez à jour.

Définition du ‘Koan’ Kōans est un mot zen qui signifie l’illumination ou l’éveil d’une personne, généralement à travers un puzzle ou une énigme. La plus courante est "Quel est le bruit des applaudissements d'une main?"

Il se compose d'une série de tests unitaires presque complets que vous devez terminer de telle manière qu'ils réussissent. Pour ce faire, "remplissez les blancs".

C'est assez soigné, assez facile à compléter et donne des informations précieuses.

Oh oui, et c'est fait par Bart De Smet de l'équipe Rx.

Voici un test unitaire typique:

[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());
}
19

De loin, la meilleure ressource qui m'a aidé à comprendre Rx est: http://www.introtorx.com/

Je pense que cela arrive à beaucoup de gens, mais vous ne pouvez pas trouver ce site lors de la recherche sur les mots clés "Rx tutorial". Pensez que quelqu'un doit ajouter des balises au site!

14
letstango

Lisez ce livre en ligne ligne par ligne (chaque ligne) et pratiquez. C'est bien, je l'ai fait quand j'ai commencé avec Rx.

http://www.introtorx.com/

4
Gerald G.