En primer lugar, soy un poco nuevo Rx, a fin de tomar mis comentarios en consecuencia.
Dicho esto, creo que hay una gran oportunidad para la cooperación entre INotifyPropertyChanged y IObservable de Rx. Creo que es relativamente obvio que la interfaz de usuario se basa en INPC en este momento. Sin embargo, INPC también es una forma primaria de detectar cambios y administrar escenarios donde un modelo de dominio o modelo de vista tiene interdependencias entre objetos y propiedades. Son estas interdependencias las que parecen ser buenos candidatos para Rx.
Trabajar con INPC directamente es un poco complicado y algo doloroso. Muchas cuerdas mágicas para tratar. También es un poco doloroso observar un evento en un objeto a múltiples niveles en el árbol de objetos.
Pero si puedo modelar estas interacciones "de forma reactiva", entonces mis modelos de vista y de dominio comienzan a sentirse un poco más elegantes. Esto es evidente en la elegancia de proyectos como Bindable Linq, Continuous Linq, Obtics, etc. Estas bibliotecas simplifican la creación de "valores en vivo" o "colecciones en vivo" que se actualizan automáticamente (me atrevo a decir "reactivamente") a los cambios. Continuous Linq incluso tiene un "reactive object" framework para hacer una programación reactiva, aunque sin Rx.
Me parece que las sinergias entran si podemos usar Rx para mantener el modelo y ver el modelo coherente. Luego podemos hacer que la "superficie enlazable" del modelo/modelo de vista respete el INPC al continuar levantando PropertyChanged según sea necesario. He visto un par de elegant extension methods que creará un elemento observable desde INotifyPropertyChanged. Parece que la otra mitad de esto podría ser crear alguna infraestructura que traduzca de Rx a INPC.
gracias pero no del todo útil, sé cómo funciona la interfaz con respecto a la vinculación – AwkwardCoder
@AWC: por el contrario, su explicación responde a sus preguntas, especialmente la última. –
veamos - Declaro que ya uso INotifyPropertyChanged, por lo tanto, voy a entender cómo funciona con Winforms \ WPF, quería saber sobre IObservable y si esto tiene algún patrón de uso en Winforms \ WPF que es el último pregunta. Entonces realmente no es útil ... – AwkwardCoder