Domanda

Ho usato Rx su un nuovo progetto di analisi finanziaria che riceve tutti i dati in modo asincrono. Sono stato abbastanza stupito la mia produttività personale e quanto più comprensibile il mio codice basato su eventi è (a differenza del precedente modello di gestori di eventi con if nidificati complessi e variabili di stato casuali ovunque.). Qualcun altro ha avuto la possibilità di giocare con lui, e in caso affermativo quali sono alcuni dei tuoi pensieri?

È stato utile?

Soluzione

Credo estensioni reattivi semplificano notevolmente alcune porzioni del complesso, guidato evento programmazione, ma il problema nel suo complesso non è "risolto".

Si fa gestire molte situazioni è un molto più pulito, modo più elegante rispetto al passato. Tuttavia, non (necessariamente) aiutano sempre sul lato della produzione di alcuni modelli asincroni, dove event-driven di programmazione è ancora difficile. Rx è molto concentrato sulla gestione del lato di sottoscrizione della manifestazione, ma non necessariamente il lato producendo dell'equazione.

Per alcuni campioni distinti, e un'idea di ciò che viene preso in considerazione per le future versioni di C # per gestire alcuni dei più complessi modelli asincroni, io consiglierei di guardare di Luca Bolognese PDC Parla . Ha presentato alcune idee la squadra di lingua sta lavorando su per aiutare sul lato di creazione di uno sviluppo asincrono, come ad esempio un "iteratore", come la sintassi per produrre un IAsync<T> direttamente, con caratteristiche del linguaggio per supportare la generazione degli eventi.

Altri suggerimenti

http: //channel9.msdn .com / messaggi / DC2010T0100-Keynote-Rx-indurimento-your-asincrono-programmazione-blues , Bart de Smet spiega in modo eccellente come gestire flussi di eventi come un concetto di prima classe alza il livello di astrazione facendo ne pensate come si implementa ad esempio. Throttle o DistinctUntilChanged ogni volta imperativamente con un sacco di codice standard soggetto a errori. Questi operatori incapsulano questi comportamenti in modo riutilizzabile e componibile. Quindi la mia opinione è che non v'è certamente spazio per un'ulteriore evoluzione (vedi ad esempio le preoccupazioni circa osservabili freddi), ma questi strumenti dovrebbe essere in cassetta degli attrezzi di ogni sviluppatore. I normali di controllo costrutti di flusso possono tagliare per l'esecuzione a thread singolo, ma in grande concorrente, il mondo distribuito di oggi, penso che osservabile (o, meglio ancora, EVENTSTREAM / Immobile) è un'astrazione corretta.

Ho appena visto un webcast su estensioni RX, non giocati con esso, e ho trovato la spiegazione troppo complicato ... ho pensato che i creatori erano astronauti architetto.

Per ora non vedo dove è il problema con gestore di eventi classico ... Ho sempre trovato soluzione elegante quando ho dovuto usare la comunicazione asincrona tra un client e un servizio.

Comunque io sono curioso con le esperienze di altre persone con questo quadro, a seconda delle risposte di questa discussione, darò un altro tentativo.

No. Il problema del complesso evento guidato programmazione deriva dal fatto che qualsiasi complesso evento guidato calcolo viene rappresentato con un grafico ciclico dinamico. Tale grafico non può essere rappresentato utilizzando convenientemente testo programmazione lineare. L'unica via d'uscita è quella di avere più strumenti per convertire la rappresentazione programma testuale forma grafica visiva e di nuovo, e di verificare la correttezza del programma in modo dinamico e statico.

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