Lösung
Sie suchen den ReadOnlyObjectWrapper .
Beispiel
Hier ist ein Beispiel für die Verwendung von einem Probe Tic Tac Toe-Spiel genommen , die ich schrieb:
%Vor%Erklärung
Damit kann der Zustand des Platzes ein durch eine Eigenschaft dargestellt werden, so dass externe Benutzer des Platzes an den Staat Platz binden können, aber der Staat selbst so auf dem Platz verkapselt ist nur der Platz kann seinen eigenen Zustand ändern.
Ein Beispiel für eine Verwendung für dieses Muster ist ein SquareSkin Objekt, das den sichtbaren Knoten enthält den Platz zu repräsentieren. Die Skin kann auf Änderungen an der Statuseigenschaft des zugeordneten Quadrats warten und das Bild, das zur Anzeige des Quadrats verwendet wird, entsprechend aktualisieren.
Um sicherzustellen, dass die in ReadOnlyWrapper enthaltenen Object-Werte nicht von außen geändert werden können, empfiehlt es sich, diese Object-Werte auf unveränderlich (zB die Objekte haben keine set-Funktionen, nur Funktionen Getter).
Weitere Beispiele
Der Spielcode, den ich verlinkt habe, enthält viele andere Beispiele für verschiedene Bindungsmuster und Gebräuche (ich habe es teilweise als verbindliche Übung geschrieben, um zu sehen, was passieren würde, wenn Sie viele Bindungen in einer App verwenden würden).