Frage

Gibt es abgesehen von der Microsoft -Dokumentation eine gute Einführung und ein Tutorial für das Microsoft Reactive (RX) Framework?

Was ist auch ein gutes Beispiel (mit Code), das Reaktiv für ein Programmierungsproblem leichter macht, das mithilfe herkömmlicher asynchroner Codierungstechniken herausfordernd ist?

War es hilfreich?

Lösung 2

Hier ist eine Wiki -Website mit vielen Codebeispielen, die zeigen, wie verschiedene Funktionen des .NET RX -Frameworks verwendet werden: http://rxwiki.wikidot.com/101samples

Ich fand dies die umfassendste Seite da draußen und die am schnellsten zu beginnen.

Andere Tipps

AKTUALISIEREN: Die folgenden Blog -Beiträge wurden durch mein Online -Buch ersetzt www.introtorx.com. Es ist ein umfassendes 19 -Kapitelbuch, das kostenlos verfügbar ist. Sie können es im Web durchsuchen oder die Mobi -Version für Ihren Kindle herunterladen. Sie können es auch für eine winzige Gebühr (~ 99c / 77p) direkt von Amazon erhalten. Wenn das Buch nicht Ihren Bedürfnissen oder Erwartungen entspricht, lassen Sie mich (den Autor) wissen und wir werden es besser für V2 machen.

Vielen Dank für den Link zum heißen/kalten Beitrag. Dies ist nur ein Teil der Vollständige Serie,

  1. Einführung in RX
  2. Statische und Erweiterungsmethoden
  3. Lebensdauermanagement - Abschluss und Abschluss
  4. Ablaufsteuerung
  5. Kombinieren Sie mehrere IOBservable -Streams
  6. Planung und Threading
  7. Heiße und kalte Observable
  8. Testen von RX
  9. Puffer, Fenster, Join und Gruppe Join

Ich werde diesen Blog mit weiteren RX -Einführungsstücken aktualisieren.

Für fortgeschrittenere Sachen möchten Sie zum RX -Forum (MSDN).

Hier ist ein Beispiel für etwas, das mit reaktivem Programmieren leicht zu tun ist, aber unordentlich (wenn auch nicht herausfordernd) mit klassischen Ereignissen zeichnet, zeichnet sie Linien, während die Maustaste sinkt. Es ist lesbar, es gibt keine explizite staatliche Handhabung:

var pen = new Pen(Color.Red, 3);
var graphics = this.CreateGraphics();

var mouseMoveWhileDown = 
    from md in this.GetMouseDown()
    from mv in this.GetMouseMove().Until(this.GetMouseUp())
    select new Point(mv.X, mv.Y);

mouseMoveWhileDown
    .Pairwise()
    .Subscribe(tup => graphics.DrawLine(pen, tup.Item1, tup.Item2)); 

(Ich muss gestehen, dass in diesem Beispiel paarweise () einheimisch ist ...)

Das Wichtigste an Iobservable ist, dass es "komponierbar" ist, genau wie Ienumerable.

Ich empfehle das in einer andere Antwort erwähnte Video. Tatsächlich gibt es auf Channel9 verschiedene Videos zu diesem Thema:

Sobald Sie einige der grundlegenden Dinge durchgemacht haben, einschließlich der HandsonlabStellen Sie sicher, dass Sie auschecken Lee Campbells heiße und kalte Observable Das hat mir einen gewissen Arkane -Geheimnis für mich genommen :)

Möglicherweise finden Sie diese Artikelserie (es gibt vier) über reaktives Linq nützlich:Reaktive Programmierung (ii.) - Einführung von reaktiver Linq.

Er hat ein Beispiel dafür, ein Spiel mit es zu schreiben, also sollte es hoffentlich das sein, wonach Sie suchen.

Ich habe auch gefunden Einführung des reaktiven Rahmens Teil I. an CodeBetter.com. Es gibt eine Fortsetzung des ersten Teils auf derselben Website.

Ich hoffe, dies wird dir helfen.

Bizarr die reaktiven Erweiterungen Startseite Links zu einem Dutzend Videos und Blogs, vergibt jedoch, mit der umfassenden offiziellen Referenzdokumentation zu verlinken. Das ist eine weinende Schande. Wenn Sie das Team kennen, bitten Sie sie bitte, ihre Website zu reparieren!

Spiel mit RX Sandbox Um eine sehr intuitive Sicht auf das zu erhalten, was die verschiedenen Kombinatoren bedeuten. Dies ist das beste Lernwerkzeug, das ich gesehen habe.

Gehen Sie diese Artikel durch und laden Sie insbesondere den zugehörigen Quellcode herunter und spielen Sie damit.

Vertrauen Sie darauf, dass dies helfen wird

Um die zweite Frage zu beantworten, finden Sie hier ein Problem, das von RX viel davon profitieren kann. Es heißt "Get Reich schnell".

Sie haben ein gleichnamiges Spiel entwickelt und es verkauft sich ziemlich gut. Aber es ist nur in Ihren Geschäften für Großhandel erhältlich. Um die Geldverarbeitung zu erleichtern, haben Sie einen Förderband, der auf Sie zugänglich zu machen.

(Bitte zögern Sie nicht, die obige Geschichte zu ändern :))

Vertriebsmitarbeiter platzieren gebundene Bargeldbeutel darauf, ohne die Etiketten anzeigen, die den Betrag und die Art der Rechnungen im Wad anzeigen. Ihre Aufgabe ist es, das Geld zu sortieren und zu zählen. Wenn Sie später mehr Geld bekommen, können Sie andere einstellen, die Ihnen helfen.

In diesem Fall ist die Quelle eine asynchrone Quelle von Bargeldquelle (Produzent). Ihre Mitarbeiter und Lieferanten erwarten Geld, aber Sie müssen die Wads konsumieren, sie auspacken und Ihre kundenspezifische Geschäftslogik verwenden, um sie entsprechend der Bezahlung neu zu verpacken.

Die Vertriebsmitarbeiter laufen auf ihrem eigenen Thread, so dass sie nicht darauf warten müssen, dass Sie das zählen, was sie auf den Gürtel werfen. Ihre Zeit wird am besten genutzt, wenn Ihnen gesagt wird, dass Sie bis dahin andere Arbeiten zur Verfügung stellen können.

Sie könnten jedes Wad durch ein Byte [] darstellen.

Dies ist eine ziemlich häufige Situation in der realen Welt; Wenn Sie in einem Netzwerk oder Daten von Peripheriegeräten eine Ressource (z. In einem einzelnen Thread oder in einer Multi-Thread-Umgebung, mit der Sie zu schwierig sind, neigen Sie dazu, sie zu aggregieren und zu verarbeiten. Nicht mehr!!

Jesse Liberty hat ein Buch, das Oktober 2011 veröffentlicht hat:

Amazon.com: Programmierreaktive Erweiterungen und Linq

Und da sind die RXWorkshop -Videos auf Channel9:

Channel9: RXWORKSHOP

Erstreckt sich Ihre Klausel "Ausnahme von Microsoft -Dokumentation" auf die Videos auf Kanal 9?

Aus dem Schöpfer des reaktiven Gerüsts Erik Meijer: - Experte für Experten: Brian Beckman und Erik Meijer - Innere .NET Reactive Framework (RX)

Brandneu: Erste Schritte mit RX -Erweiterungen für .NET

Zusätzlich zu Andreas Hoffmanns Links (fand sie sehr hilfreich, als ich RX lernte)

Hier sind einige von Bart de Smet (ein sehr kluger Kerl, der die Dinge wirklich gut erklärt) Videos:

Ein bisschen ein Durchlauf von RX:
RX - Härten Sie Ihren asynchronen Programmierblues aus

Einige blutige Insiden + einige Philosophie, diese Videos sind wirklich aufschlussreich:
Min linq - Die Essenz von Linq
(Das obige Video befasst sich damit, wie sich Linq auf andere Dinge bezieht, wie RX)

Beobachtungen zu iqbservable - das dual von iQueryable

Devhol202 - Härten des asynchronen Blues mit den reaktiven Erweiterungen für .NET (PDF, 2 MB) ist das beste Labor/Tutorial, das ich bisher gesehen habe. Es führt Sie durch die Grundlagen der Bibliothek, damit Sie auf dem aufbauen und gestalten können, was Sie gelernt haben.

Es gibt auch eine JavaScript -Version. Suchen Sie Google nach "Reactive Extensions Hands On Lab".

ich mochte Einführung in RX Teil 1 - Schlüsseltypen, und es zeigte die Schlüsselmerkmale.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top