2009-07-22 5 views
3

Ich begann zu investigate beans binding und mein Kopf beginnt zu drehen. Es gibt so viele Möglichkeiten, aber es ist eine zentrale Designentscheidung, die sich schwer ändern lässt. Ich habe eine Reihe von miteinander verbundenen POJOs, die ich mit einer GUI bearbeiten möchte. Was ist meine beste Option für eine stabile, einfache Bereitstellung? Wenn es keine gute Lösung gibt, spielen diese Optionen gut zusammen?BeansBinding, JGoodies Binding, JFace oder Glasierte Listen?

Hier sind die aktuellen Anwärter:

Bitte Teile deine Erfahrungen mit diesen Bibliotheken. Vor allem, wenn du es ausprobiert hast und zu einem anderen gewechselt hast.

Antwort

7

Ich habe alle oben genannten außer JFace verwendet. Begann mit JGoodies und fand es ein bisschen schwierig zu benutzen. BeansBinding war einfacher zu verstehen, aber die Unterstützung für Listenoperationen ist ziemlich schlecht. Geben Sie verglaste Listen ein. GL ist eine der besten Open-Source-Bibliotheken, die ich je benutzt habe. Vor kurzem haben sie eine PluggableList-Implementierung hinzugefügt, die es ermöglicht, dass GlazedLists-Listen dazu verwendet werden, Eigenschaften von POJOs mithilfe von BeansBinding aufzulisten. Das Ergebnis ist das Beste aus beiden Welten.

Wir verwenden auch häufig die Berechnungs-API (Teil von verglasten Listen), um listweite Eigenschaften zu berechnen, und binden die Ergebnisse (unter Verwendung von BB) an POJOs, GUI-Widgets, etc ... Hinzufügen einer Beschriftung, die die Anzahl von zeigt Elemente in einer Liste (oder einer anderen Berechnung) ist verrückt einfach.

Ich werde sagen, dass BB viel Platz für Verbesserungen hat, und in der Tat wurde es auf BetterBeansBinding gegabelt - ich würde empfehlen, dass Sie mit BBB vorwärts bewegen, wenn Sie können.

Wir haben mehrere Anwendungen mit der Kombination von BB und GL (von denen eine ist eine sehr große, komplexe GUI-App), und waren mit den Ergebnissen zufrieden.

Ich schlage vor, dass Sie sich die Zeit nehmen, mit Bindings herumzuspielen, bevor Sie es wirklich benutzen. Die Umstellung auf einen deklarativen Programmierstil erfordert einige Übung, aber sobald Sie es getan haben, sind die Ergebnisse fast wundersam. Ich schlage ein Minimum von 3 kleinen, aber kompletten Projekten vor, so dass du dich damit abfinden kannst (wenn du Presentation Model Konzepte in dein Design einbringen kannst, wird das auch eine riesige Rückzahlung auf der Straße haben).

0

Wir verwenden die JGoodies Rahmen Bindung und es ist ziemlich gut. Das ist hauptsächlich mit einfachen Eigenschaften - wenn Sie etwas Komplexeres tun möchten, müssen Sie ein bisschen Klebstoffcode schreiben. Ich bin mir nicht sicher, ob andere Frameworks das besser machen würden.

Es unterstützt Dinge wie verschachtelte Eigenschaften nicht, aber ich habe gehört, dass die Bindung in der Spring RCP Projekt ist besser. Ich würde vorschlagen, das zuerst über JGoodies zu untersuchen.