Zunächst einmal, ich bin ein bisschen neu zu Rx, so dementsprechend von mir nehmen.
Das sagte, ich denke, dass es eine große Chance für die Zusammenarbeit zwischen INotifyPropertyChanged und Rx IObservable gibt. Ich denke, es ist relativ offensichtlich, dass die Benutzeroberfläche an diesem Punkt um INPC herum aufgebaut ist. INPC ist jedoch auch eine primäre Methode zum Erkennen von Änderungen und Verwalten von Szenarien, bei denen ein Domänenmodell oder Ansichtsmodell Abhängigkeiten zwischen Objekten und Eigenschaften aufweist. Es sind diese Interdependenzen, die als gute Kandidaten für Rx erscheinen.
Mit INPC direkt zu arbeiten ist ein bisschen schwierig und etwas schmerzhaft. Viele magische Saiten, um damit umzugehen. Es ist auch ein bisschen schmerzhaft, nach einem Ereignis auf einem Objekt mehrere Ebenen in der Objektbaumstruktur zu sehen.
Aber wenn ich diese Interaktionen "reaktiv" modellieren kann, dann beginnen sich meine Ansichtsmodelle und Domänenmodelle etwas eleganter zu fühlen. Dies zeigt sich in der Eleganz von Projekten wie Bindable Linq, Continuous Linq, Obtics usw. Diese Bibliotheken machen es einfach, "Live-Werte" oder "Live-Sammlungen" zu erstellen, die automatisch Änderungen (ich wage es "reaktiv" zu sagen) aktualisieren. Continuous Linq hat sogar eine "reactive object" framework reaktive Programmierung zu tun, wenn auch ohne Rx.
Es scheint mir, dass die Synergien kommen, wenn wir Rx verwenden können, um das Modell und das Modell kohärent zu halten. Dann können wir die "bindbare Oberfläche" des Modell-/Ansichtsmodells an die INPC anpassen, indem wir weiterhin PropertyChanged nach Bedarf erhöhen. Ich habe ein Paar elegant extension methods gesehen, das eine Observable von INotifyPropertyChanged erzeugt. Es scheint, dass die andere Hälfte davon sein könnte, eine Infrastruktur zu schaffen, die von Rx zurück zu INPC übersetzt.
danke, aber nicht wirklich hilfreich, ich weiß, wie die Schnittstelle in Bezug auf die Bindung arbeitet – AwkwardCoder
@AWC: Im Gegenteil, seine Erklärung befasst sich mit Ihren Fragen, vor allem Ihre letzte. –
lässt sehen - Ich gebe an, dass ich bereits INotifyPropertyChanged verwende, also werde ich ein wenig Verständnis dafür haben, wie es mit Winforms \ WPF funktioniert, ich wollte über IObservable wissen und ob dies irgendwelche Anwendungsmuster in Winforms \ WPF hat, die die letzte ist Frage. Also nicht wirklich hilfreich ist es ... – AwkwardCoder