In meiner Anwendung habe ich einen Schlüssel-Wert-Speicher bekam die Benutzerkonfiguration (a la Apache Commons Configuration) implementiert:Zwingende qx.core.Object # binden
var config = new Configuration();
config.set("foo.bar", "baz");
config.get("foo.bar"); // "baz"
Gepunktete Namen verwendet werden Konfiguration einführen Hierarchie. Ich möchte auch, dass Folgendes funktioniert:
config.bind("foo.bar", target, "property.chain");
Die Idee hier ist, traditionelle Qooxdoo Bindungssemantik zu verwenden; Der Unterschied ist, "foo.bar" bezeichnet keine echte Eigentumskette, es ist nur ein Schlüsselname.
Wie soll ich das umsetzen? Ist es in Ordnung, qx.core.Object#bind
mit meiner Implementierung vollständig zu überschreiben? Oder sollte ich die Interna der Configuration-Klasse so modellieren, dass der Standard qx.core.Object#bind
(delegiert an qx.data.SingleValueBinding
) funktionieren würde? Das zweite Szenario würde wahrscheinlich einige generierte Klassen beinhalten (ähnlich wie bei qx.data.marshal.Json#toClass
), um Schlüsselnamen mit realen Eigenschaften wiederzugeben. Ehrlich gesagt, scheint es mir ein bisschen komplex zu sein. Was denken Sie?