Prima di tutto, io sono un po 'nuova per Rx, in modo da prendere i miei commenti di conseguenza.
Detto questo, penso che ci sia una grande opportunità per la cooperazione tra INotifyPropertyChanged e l'IObservable di Rx. Penso che sia relativamente ovvio che l'interfaccia utente sia costruita intorno all'INPC a questo punto. Tuttavia, INPC è anche un modo primario per rilevare le modifiche e gestire gli scenari in cui un modello di dominio o un modello di visualizzazione presenta interdipendenze tra oggetti e proprietà. Sono queste interdipendenze che sembrano buoni candidati per Rx.
Lavorare direttamente con INPC è un po 'complicato e un po' doloroso. Un sacco di stringhe magiche da affrontare. È anche un po 'doloroso guardare un evento su un oggetto a più livelli di distanza nell'albero degli oggetti.
Ma se riesco a modellare queste interazioni "in modo reattivo", i miei modelli di visualizzazione e i modelli di dominio iniziano a sembrare un po 'più eleganti. Ciò è evidente nell'eleganza di progetti come Bindable Linq, Continuous Linq, Obtics, ecc. Queste librerie semplificano la creazione di "valori live" o "raccolte live" che si aggiornano automaticamente (oserei dire "in modo reattivo") alle modifiche. Linq continuo ha anche un "reactive object" framework per fare la programmazione reattiva, anche se senza Rx.
Mi sembra che le sinergie entrino se possiamo usare Rx per mantenere il modello e il modello di vista coerenti. Quindi possiamo rendere la "superficie legabile" del modello modello/vista onorare l'INPC continuando ad aumentare PropertyChanged secondo necessità. Ho visto un paio elegant extension methods che creerà un osservabile da INotifyPropertyChanged. Sembra che l'altra metà potrebbe essere quella di creare un'infrastruttura che si traduca da Rx in INPC.
grazie ma non molto utile, so come funziona l'interfaccia rispetto al binding – AwkwardCoder
@AWC: al contrario, la sua spiegazione riguarda le tue domande, in particolare la tua ultima. –
lascia vedere - dichiaro che uso già INotifyPropertyChanged quindi quindi ho intenzione di capire come funziona con Winforms \ WPF, volevo sapere su IObservable e se questo ha qualche schema di utilizzo in Winforms \ WPF che è l'ultimo domanda. Quindi non è davvero utile ... – AwkwardCoder