Mis à part la documentation Microsoft, existe-t-il une bonne introduction et un bon tutoriel sur le framework Microsoft Reactive (Rx)?
De plus, quel est un bon exemple (avec du code) que Reactive facilite un problème de programmation difficile à résoudre en utilisant des techniques de codage asynchrones conventionnelles?
c#
.net
asynchronous
system.reactive
LBushkin
la source
la source
Réponses:
MISE À JOUR : Les articles de blog ci-dessous ont été remplacés par mon livre en ligne www.IntroToRx.com . Il s'agit d'un livre complet de 19 chapitres disponible gratuitement. Vous pouvez le parcourir sur le Web ou télécharger la version mobi pour votre Kindle. Vous pouvez également l'obtenir directement d'Amazon pour une somme modique (~ 99c / 77p). Si le livre ne répond pas à vos besoins ou attentes, faites-le moi savoir (l'auteur) et nous ferons mieux pour la v2.
Merci pour le lien vers le post Hot / Cold. Ce n'est qu'une partie de la série complète ,
Je continuerai à mettre à jour ce blog avec plus de choses d'introduction Rx.
Pour des informations plus avancées, vous souhaitez vous rendre sur le Forum Rx (MSDN).
la source
Voici un site wiki avec de nombreux exemples de code montrant comment utiliser différentes fonctionnalités du framework .NET Rx: http://rxwiki.wikidot.com/101samples
J'ai trouvé que c'était le site le plus complet et le plus rapide pour commencer.
la source
Site MSDN pour Rx-Framework
Pour un développeur qui approfondit, le code source
Cool keynote autrichien sur Rx
C'est le meilleur que j'ai vu: DevCamp 2010 Keynote - Rx: Guérir vos blues de programmation asynchrones
Quelques vidéos intéressantes sur Channel 9
Kim Hamilton et Wes Dyer: dans .NET Rx et IObservable / IObserver dans la BCL (VS 2010)
Entretien avec le créateur de Rx: Expert to Expert: Brian Beckman et Erik Meijer - Inside the .NET Reactive Framework (Rx)
Une introduction du créateur de Rx
Un projet de code article de projet de
Un autre cours premier blog avec liens (nouveau)
la source
Voici un exemple de quelque chose de facile à faire avec une programmation réactive, mais désordonné (sinon difficile) avec des événements classiques, il trace des lignes lorsque le bouton de la souris est enfoncé. Il est lisible, il n'y a pas de gestion d'état explicite:
(Je dois avouer que dans cet exemple, Pairwise () est fait maison ...)
La chose la plus importante à propos d'IObservable est qu'il est «composable», tout comme IEnumerable.
Je recommande vivement la vidéo mentionnée dans une autre réponse. En fait, il existe plusieurs vidéos différentes sur le sujet sur Channel9:
la source
TakeUntil
, qui ressemble à un bon ajustement.var pairwise = source.Zip(source.Skip(1), (x, y) => new Tuple(x, y))
.Une fois que vous avez parcouru certaines des choses de base, y compris le HandsOnLab, assurez-vous de vérifier les observables chauds et froids de Lee Campbell qui ont enlevé un peu du mystère mystérieux de Rx pour moi :)
la source
Vous pouvez trouver cette série d'articles (il y en a quatre) sur LINQ réactif utile: Programmation réactive (II.) - Présentation de LINQ réactif .
Il a un exemple d'écriture d'un jeu en l'utilisant, donc cela devrait être ce que vous recherchez.
la source
J'ai également trouvé Présentation du cadre réactif, partie I sur
CodeBetter.com
. Il y a une suite à la première partie sur le même site.J'espère que cela t'aidera.
la source
Bizarrement, les extensions réactives page d'accueil de contient des liens vers une douzaine de vidéos et de blogs, mais oublie de créer un lien vers la documentation de référence officielle complète. C'est vraiment dommage, si vous connaissez l'équipe, demandez-leur de réparer leur site web!
la source
Jouez avec Rx Sandbox pour obtenir une vue très intuitive de la signification des différents combinateurs. Ceci est le meilleur outil d'apprentissage que j'ai vu.
la source
Parcourez ces articles, et en particulier, téléchargez le code source associé et jouez avec.
Faites confiance, cela vous aidera
la source
Pour répondre à la deuxième question, voici un problème qui peut bénéficier beaucoup de Rx. Cela s'appelle "Devenez riche rapidement".
Vous avez développé un jeu du même nom et il se vend plutôt bien. Mais il n'est disponible que dans vos magasins en gros. Pour faciliter le traitement des espèces, vous disposez d'un tapis roulant qui coule vers vous.
(N'hésitez pas à changer l'histoire ci-dessus :))
Les vendeurs y placent des liasses de billets liées sans aucune étiquette indiquant le montant et le type de factures dans la liasse. Votre travail consiste à trier et à compter l'argent. Plus tard, lorsque vous obtenez plus d'argent, vous pouvez en embaucher d'autres pour vous aider.
Dans ce cas, la source est une source asynchrone de liasses de billets (producteur). Vos employés et fournisseurs attendent de l'argent, mais vous devez consommer les liasses, les déballer et utiliser votre logique métier personnalisée pour reconditionner de manière appropriée pour les payer.
Les vendeurs courent sur leur propre fil, afin qu'ils n'aient pas à attendre que vous comptiez ce qu'ils jettent à la ceinture. Votre temps est mieux utilisé si l'on vous dit quand plus d'argent est disponible pour compter, d'ici là, vous pouvez faire d'autres travaux.
Vous pouvez représenter chaque liasse par un octet [].
Il s'agit d'une situation réelle assez courante; lorsque vous récupérez une ressource [par exemple, des pages Web pour les moteurs de recherche, des images ou des vidéos] sur un réseau ou des données de périphériques, vous les obtenez en morceaux d'octets (éventuellement avec des en-têtes). Dans un seul thread ou dans un environnement multi-thread trop difficile à travailler, vous avez tendance à les regrouper et à les traiter. Plus maintenant!!
la source
Jesse Liberty a sorti un livre, publié en octobre 2011:
Amazon.com: Programmation d'extensions réactives et LINQ
Et il y a les vidéos RxWorkshop sur Channel9:
Channel9: RxWorkshop
la source
Votre clause d'exclusion de la documentation Microsoft s'étend-elle aux vidéos sur Channel 9?
Du créateur du framework réactif Erik Meijer: - Expert à Expert: Brian Beckman et Erik Meijer - Inside the .NET Reactive Framework (Rx)
Nouveau : Premiers pas avec les extensions Rx pour .NET
la source
En plus des liens d'Andreas Hoffmann (les ont trouvés très utiles lorsque j'apprenais le Rx)
Voici quelques vidéos de Bart De Smet (un gars TRÈS intelligent qui explique très bien les choses):
Un peu à travers Rx:
Rx - Guérir vos blues de programmation asynchrones
Quelques intérieurs sanglants + une certaine philosophie, ces vidéos sont vraiment instructives:
Min LINQ - L'essence de LINQ
(La vidéo ci-dessus traite de la façon dont LINQ se rapporte à d'autres choses, comme Rx)
Observations sur IQbservable - Le Dual d'IQueryable
la source
DEVHOL202 - Guérir le blues asynchrone avec les extensions réactives pour .NET (PDF, 2 Mo) est le meilleur laboratoire / tutoriel que j'ai vu jusqu'à présent. Il vous guide à travers les bases de la bibliothèque, afin que vous puissiez construire et concevoir sur ce que vous avez appris.
Il existe également une version JavaScript. Recherche Google pour "Extensions réactives Hands on Lab".
la source
J'ai aimé Introduction to Rx Part 1 - Key types , et il a montré les principales fonctionnalités.
la source