Domanda

A parte la documentazione di Microsoft, c'è una buona introduzione e tutorial per il framework Microsoft reattiva (Rx)?

Inoltre, ciò che è un buon esempio (con codice) che reattiva facilita di un problema di programmazione che è difficile da risolvere utilizzando tecniche di codifica asincrona convenzionali?

È stato utile?

Soluzione 2

Ecco un sito wiki con un sacco di esempi di codice che dimostrano come utilizzare le diverse caratteristiche del framework .NET Rx: http: //rxwiki.wikidot.com/101samples

Ho trovato questo per essere il sito più completo là fuori, e quello che è più veloce per iniziare con.

Altri suggerimenti

Aggiorna : i post del blog di seguito sono stati sostituiti dal mio www.IntroToRx.com . Si tratta di un 19 capitolo libro completo disponibile gratuitamente. È possibile navigare sul web, o scaricare la versione mobi per il tuo Kindle. È inoltre possibile ottenere direttamente da Amazon per una tassa molto piccola (~ 99C / 77P). Se il libro non soddisfa le vostre esigenze o aspettative, fatemelo (l'autore) sapere e faremo meglio per v2.

Grazie per il link al / post fredda calda. Questa è solo una parte del serie completa ,

  1. Introduzione alla Rx
  2. metodi
  3. statiche e di estensione
  4. Gestione Lifetime - Completamento e annullare l'iscrizione
  5. Controllo del flusso
  6. La combinazione di più flussi IObservable
  7. Programmazione e filettatura
  8. caldi e freddi osservabili
  9. Test Rx
  10. Buffer, Finestra, unire e gruppo Iscriviti

Vi terrò aggiornare questo blog con più roba introduttivo Rx.

Per le cose più avanzato si vuole andare alla Forum Rx (MSDN).

Ecco un esempio di qualcosa che è facile da fare con la programmazione reattiva, ma disordinato (se non impegnativo) con eventi classici, disegna le linee mentre il pulsante del mouse è premuto. È leggibile, non v'è alcuna manipolazione stato esplicito:

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

(Devo confessare che in questo esempio, a coppie () è cresciuto in casa ...)

La cosa più importante di IObservable è che è 'componibile', proprio come IEnumerable.

Vi consiglio thouroughly il video citato in un'altra risposta. In realtà ci sono diversi video differenti sul tema su Channel9:

Una volta che sono passati attraverso alcune delle cose di base tra cui il HandsOnLab assicuratevi di controllare il caldo di Lee Campbell e Osservabili freddo che ha avuto un po 'del mistero arcano di Rx per me:)

Si possono trovare questa serie di articoli (ci sono quattro) su utili LINQ reattiva: programmazione reattiva (II.) - L'introduzione di LINQ reattiva .

Ha un esempio di scrittura di un gioco di usarlo, quindi si spera, dovrebbe essere quello che stai cercando.

Ho trovato anche Presentazione del Reactive Framework parte I su CodeBetter.com. C'è un seguito alla prima parte sullo stesso sito.

Spero che questo vi aiuterà.

Stranamente, i reattivi estensioni homepage link ad una dozzina di video e blog, ma dimentica di collegamento alla documentazione ufficiale di riferimento completo. Questo è un vero peccato, se si conosce la squadra, si prega di chiedere loro di risolvere il loro sito!

Rx Sandbox per ottenere una visione molto intuitiva di ciò che i diversi combinatori significano. Questo è il miglior strumento di apprendimento che ho visto.

Passare attraverso questi articoli e, in particolare, scaricare il codice sorgente correlato e giocare con lui.

La fiducia che questo vi aiuterà

Per rispondere alla seconda domanda, ecco un problema che può beneficiare molto da Rx. Si chiama "arricchirsi rapidamente".

Avete sviluppato un gioco con lo stesso nome e sta vendendo abbastanza bene. Ma è disponibile solo presso i vostri negozi per il commercio all'ingrosso. Per rendere il trattamento del contante più facile, si dispone di un nastro trasportatore che scorre verso di voi.

(Non esitate a cambiare la storia di cui sopra :))

I venditori posto mazzette di denaro contante legati su di esso senza le etichette che indicano la quantità e il tipo di fatture in borra. Il vostro compito è quello di ordinare e contare i soldi. Più tardi, quando si ottiene più soldi, è possibile noleggiare gli altri per aiutarvi.

In questo caso, la sorgente è una sorgente asincrono di mazzette di denaro contante (Produttore). I suoi dipendenti e fornitori si aspettano i soldi, ma si deve consumare le mazzette, decomprimerli e utilizzare la logica di business personalizzata per riconfezionare come appropriato per pagarle.

persone Le vendite sono in esecuzione sul proprio filo, in modo che essi non devono attendere per voi a contare quello che getta sul nastro. Il vostro tempo è meglio utilizzato se si è detto quando più denaro è disponibile a contare, fino ad allora si può fare un altro lavoro.

Si potrebbe rappresentare ogni mazzetta da un byte [].

Questa è una situazione abbastanza comune del mondo reale; quando si recuperano tutte le risorse [per esempio, le pagine web per i motori di ricerca, immagini o video] su una rete o di dati da periferiche, che li ottenete in blocchi di byte (possibilmente con le intestazioni). In un unico filo, o in un ambiente multi-thread che è troppo difficile da lavorare, si tende ad aggregare ed elaborarli. Non più!!

Jesse Liberty dispone di un libro fuori, pubblicato ottobre 2011:

Amazon.com: Programmazione reattivi estensioni e LINQ

E c'è il video RxWorkshop su Channel9:

Channel9: RxWorkshop

Il tuo clausola di "esclusione documentazione di Microsoft" si estendono ai video su Canale 9?

Dal creatore del quadro reattivo Erik Meijer:  - Expert all'esperto: Brian Beckman e Erik Meijer - All'interno del .NET Framework reattiva (Rx)

novità : Guida introduttiva a Rx Extensions for .NET

Oltre ai collegamenti di Andreas Hoffmann (giudicano molto utile quando stavo imparando Rx)

Ecco alcuni dei Bart De Smet (un ragazzo molto intelligente che spiega le cose veramente bene) Video:

Un po 'una corsa attraverso di Rx:
Rx - curare la programmazione asincrona Blues

Alcune parti interne cruenti + qualche filosofia, questi video sono davvero illuminante:
LINQ Min - L'essenza di LINQ
(Le offerte di video di cui sopra con come LINQ riferisce po 'di altre cose, come Rx)

osservazioni sul IQbservable - il duale di IQueryable

DEVHOL202 - Curare il blues asincroni con le estensioni reattivi per .NET (PDF, 2 MB) è il miglior laboratorio / tutorial che ho visto finora. Vi guida attraverso le nozioni di base della biblioteca, in modo che si può costruire e disegno su ciò che hai imparato.

C'è anche una versione JavaScript. Cerca con Google per "reattivi estensioni Hands on Lab".

Mi è piaciuta Introduzione alla Rx Parte 1 - tipi principali , e ha mostrato le caratteristiche fondamentali.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top