2010-12-18 4 views
6

Ich baue eine ziemlich große Webanwendung und habe eine Handvoll Plugins mit dem klassischen Plugin-Muster erstellt. Einige von diesen überschreiten 50 Linien und behalten den Zustand bei. Ich habe kürzlich jQuery UI's widget factory entdeckt, und es scheint, wenn ich meine Plugins in diesen Stil konvertieren würde, wäre der Code leichter zu lesen und zu pflegen. Anders als Zeit und Mühe versuche ich festzustellen, ob es einen Nachteil gibt und sie umwandeln. Ich verwende jQuery UI bereits für einige andere Plugins.Sollte ich meine jQuery-Plugins konvertieren, um die Widget Factory von jQuery UI zu verwenden?

+1

"Ich baue eine ziemlich große Web-Anwendung und habe eine Handvoll Plugins mit dem klassischen Plugin-Muster gebaut", sollten Sie sich darauf konzentrieren, die App nicht die Plugins zu bauen. – Babiker

+3

Richtig, aber die Plugins werden zu wichtigen Teilen der Anwendung und erfordern in Zukunft möglicherweise Verbesserungen. – rhoeting

Antwort

4

Ich habe beschlossen, eines der komplexeren Stateful-Plugins zu konvertieren, um die jQuery-Widget-Factory zu verwenden. Es gab ein bisschen eine Lernkurve, ich glaube, dass die Vorteile die Arbeit gerechtfertigt haben. Während ich nicht Thema Rollenträger nutzen, sind hier einige der anderen Vorteile, die ich nützlich gefunden:

  • Zustandsverwaltung für
  • implizierten this.each()
  • sauber Callback-Mechanismus
  • einfache API Einstellung und übergeordnete Optionen
  • visuell klare Unterscheidung zwischen öffentlichen und privaten Methoden

Natürlich können Sie alle erreichen diese mit dem traditionellen Plugin-Muster. Aber der Code erscheint meinem Auge viel sauberer und wird auf lange Sicht viel einfacher zu pflegen sein. Vielen Dank an Eric Hynds und seine MuliSelect Widget für die Bereitstellung von Quellcode für mich zu studieren und zu lernen, wie man die Widget Factory zu verwenden.

2

Sollte kein Problem sein.

Wenn Sie ohnehin schon von jQuery UI abhängig sind, gibt es keine Nachteile.

Verwenden Sie gute Framework-Funktionalität ist besser (die meiste Zeit) als die Implementierung Ihrer eigenen. Gut getestet, weniger Code und fördert oft besseres Design.

0

Wenn Sie nicht versuchen, die hinzugefügte Funktionalität der Widget-Fabrik anzuzapfen, gibt es keinen Grund, dies zu tun. Sie müssen wirklich auswerten, ob diese Art von Schalter andere Vorteile als mehr Arbeit bietet oder nicht.

Wenn es keine Vorteile gibt, Ihren Code zu ändern, tun Sie es nicht. Wie babiker in seinem Kommentar darauf hingewiesen hat, verbringt man besser Zeit mit der Anwendungsstruktur.

+0

Sie haben einen tollen Punkt gemacht. Aber nach genauer Betrachtung der Widget-Factory bietet es dem Plug-in-Entwickler eine ganze Reihe von Funktionen, die letztendlich zu saubererem Code führen. – rhoeting

Verwandte Themen