Question

En plus de la documentation Microsoft, est-il une bonne introduction et tutoriel pour le framework Microsoft réactive (Rx)?

En outre, ce qui est un bon exemple (avec le code) qui réactive rend plus facile d'un problème de programmation qui est difficile à résoudre en utilisant des techniques de codage asynchrones classiques?

Était-ce utile?

La solution 2

Voici un site wiki avec beaucoup d'exemples de code montrant comment utiliser différentes fonctionnalités du framework .NET Rx: http: //rxwiki.wikidot.com/101samples

J'ai trouvé que ce soit le site le plus complet là-bas, et celui qui est le plus rapide pour commencer avec.

Autres conseils

UPDATE : Les messages de blog ci-dessous ont été remplacées par mon livre en ligne www.IntroToRx.com . Il est un 19 chapitre livre complet disponible gratuitement. Vous pouvez naviguer sur le web ou télécharger la version mobi pour votre Kindle. Vous pouvez également l'obtenir directement à partir Amazon pour un petit frais (~ 99c / 77 p). Si le livre ne répond pas à vos besoins ou attentes, laissez-moi (l'auteur) savoir et nous ferons mieux pour v2.

Merci pour le lien vers le Hot / post-froid. Ce ne représente qu'une partie de la série complète ,

  1. Introduction à Rx
  2. Les méthodes statiques et d'extension
  3. Gestion de vie - Remplir et désinscription
  4. Contrôle du flux
  5. La combinaison de plusieurs flux IObservable
  6. Planification et filetage
  7. Chaud et froid observables
  8. Test Rx
  9. Tampon, Fenêtre, Rejoindre et groupe Rejoindre

Je vais continuer à mettre à jour ce blog avec des trucs d'introduction plus Rx.

Pour des choses plus avancées que vous voulez aller à la Rx Forum (MSDN).

Voici un exemple de quelque chose qui est facile à faire avec la programmation réactive, mais en désordre (sinon difficile) avec des événements classiques, il dessine des lignes alors que le bouton de la souris est en panne. Il est facile à lire, il n'y a pas de traitement explicite de l'État:

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)); 

(je dois avouer que, dans cet exemple, par paires () est la maison cultivés ...)

La chose la plus importante à propos IObservable est qu'il est 'composable', tout comme IEnumerable.

Je recommande thouroughly la vidéo mentionnée dans une autre réponse. En fait, il y a plusieurs vidéos différentes sur le sujet sur Channel9:

Une fois que vous avez passé par certaines des choses de base, y compris le HandsOnLab assurez-vous de vérifier Hot de Lee Campbell et observables froid qui a pris une partie du mystère Arcane de Rx pour moi:)

Vous pouvez trouver cette série d'articles (il y a quatre) sur LINQ réactifs utiles: programmation réactive (II.) - Présentation réactive LINQ .

Il a un exemple d'écrire un jeu en utilisant, donc il devrait, espérons-être ce que vous recherchez.

J'ai aussi trouvé Présentation du cadre réactive Partie I sur CodeBetter.com. Il y a une suite à la première partie sur le même site.

J'espère que cela vous aidera.

Bizarrement, les Reactive Extensions liens page d'accueil à une douzaine de vidéos et blogs mais oublie de lien vers la documentation de référence officielle complète. C'est une honte, si vous connaissez l'équipe, s'il vous plaît demandez-leur de fixer leur site!

Jouez avec Rx Sandbox pour obtenir une vue très intuitive de ce les différents combinateurs signifient. C'est le meilleur outil d'apprentissage que j'ai vu.

Pour répondre à la deuxième question, voici un problème qui peut bénéficier beaucoup de Rx. Il est appelé « enrichissez-vous rapidement ».

Vous avez développé un jeu du même nom et vend assez bien. Mais il est disponible uniquement dans vos magasins pour de gros. Pour le traitement de l'argent plus facile, vous avez une bande transporteuse qui coule vers vous.

(S'il vous plaît ne hésitez pas à changer l'histoire ci-dessus :))

Les ventes placent les liasses liées d'argent sur avec aucune étiquette indiquant que la quantité et le type de factures dans la bourre. Votre travail consiste à trier et compter l'argent. Plus tard, quand vous obtenez plus d'argent, vous pouvez embaucher d'autres personnes 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 d'utiliser votre logique métier personnalisé pour reconditionner le cas échéant de les payer.

Le personnel de vente sont en cours d'exécution sur leur propre fil, de sorte qu'ils ne doivent pas attendre pour vous de compter ce qu'ils jettent sur la ceinture. Votre temps est mieux utilisé si on vous dit quand plus d'argent est disponible pour compter, jusqu'à ce que vous pouvez faire d'autres travaux.

Vous pouvez représenter chaque bourre par un octet [].

Ceci est une situation du monde réel assez commun; lorsque vous récupérez toutes les ressources [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 les en-têtes). Dans un seul fil, ou dans un environnement multi-thread qui est trop difficile de travailler avec, vous avez tendance à regrouper et de les traiter. Plus maintenant!!

Jesse Liberté a un livre, Publié Oct 2011:

Amazon.com: programmation Reactive Extensions et LINQ

Et il y a les vidéos RxWorkshop sur Channel9:

Channel9: RxWorkshop

Votre article étendre aux vidéos "à l'exclusion de la documentation Microsoft" sur Channel 9?

Par le créateur du cadre réactif Erik Meijer:  - Expert à Expert: Brian Beckman et Erik Meijer - A l'intérieur du cadre Reactive .NET (Rx)

nouvelle marque : Mise en route avec Rx Extensions for .NET

En plus des liens de Andreas Hoffmann (ont trouvé très utile quand j'apprenais Rx)

Voici quelques-unes de Bart De Smet (un gars très intelligent qui explique les choses très bien) Vidéos:

Kinda une course à travers de Rx:
Rx - Durcissement vos Blues Programmation asynchrone

Quelques gores + une intérieur philosophie, ces vidéos sont vraiment instructifs:
Min LINQ - L'essence de LINQ
(Les offres de vidéo ci-dessus avec la façon dont LINQ rapporte un peu d'autres choses, comme Rx)

observations sur IQbservable - Le double de IQueryable

DEVHOL202 - Guérir le blues asynchrone avec les Reactive Extensions pour .NET (PDF, 2 Mo) est le meilleur laboratoire / tutoriel, je l'ai vu jusqu'à présent. Il vous guide à travers les bases de la bibliothèque, de sorte que vous pouvez construire et la conception de ce que vous avez appris.

Il y a aussi une version JavaScript. Recherche Google pour "Extensions réactives Mains sur Lab".

J'aimais Introduction à Rx Partie 1 - types clés , et il a montré les principales caractéristiques.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top