2016-04-28 10 views
6

Wenn eine Option zur Verwendung von Sling-Modellen oder WCM gegeben wird, welche Klasse sollte man wann und warum bevorzugen?WCM Gebrauchsklasse kann überall dort eingesetzt werden, wo wir Schlingenmodelle verwenden können. Welche sollte man bevorzugen und warum?

Ist einer von ihnen bessere Leistung weise?

Vielen Dank im Voraus

+0

Gute Frage, für die ich auch an einer Antwort interessiert bin. Aus meinen Eingeweiden würde ich mit Sling-Modellen gehen, da es generischer ist und Sie die WCMUse-Klasse nicht erben müssen. – Thomas

Antwort

6

Hebegurtmodelle Sie viel Zeit für den Zugriff auf einfache Objekte wie die aktuelle Seite/Ressource, Injizieren einige Eigenschaften oder Dienste speichern, von der Ressourcen oder Schlinge HTTP-Anforderung an das Modell anzupassen. Sicher mit der Verwendung der einfachen API wird Ihr Code ein wenig schneller ausgeführt, weil Sie nur die Objekte initialisieren, die Sie wirklich brauchen, aber Sie müssen all diese Dinge "manuell" machen. Ich denke, dass diese sightly introduction einen guten Überblick über alle möglichen Implementierungen gibt, mit denen Sie gehen können. Sie können sich auch die sightly official documentation ansehen. Im Folgenden finden Sie einen kurzen Überblick über das, was Sie erwarten können und Ihnen die Entscheidung erleichtern wird (zitiert aus der offiziellen Dokumentation).

Java Verwenden Provider

Vorteile Use-Objekten durch Bündeln bereitgestellt:

  • schneller zu initialisieren und auszuführen als Modelle für einen ähnlichen Code
  • leicht zu erstrecken sich von anderen ähnlichen Sling Use-objects
  • einfache Einrichtung für Unit-Test

Use-Objekte von Ressourcen gesichert:

  • schneller zu initialisieren und auszuführen als Modelle für einen ähnlichen Code
  • leicht außer Kraft setzen von Sling Komponenten durch Suchpfad Overlay oder mithilfe der Schlinge zu erben: resourceSuperType Eigenschaft, für eine größere Flexibilität für Komponenten
  • Geschäftslogik ermöglicht sitzt neben den Sightly Skripte, wo die Objekte verwendet werden

Nachteile Use-Objekten durch Bündeln bereitgestellt:

  • fehlt Flexibilität in Bezug auf die Komponente

Use-Objekten unterstützt durch Ressourcen überlagert:

  • nicht verlängern andere Java-Objekte
  • th e Java-Projekt könnte eine andere Einstellung benötigen Tests laufen Einheit zu ermöglichen, da werden die Objekte wie Inhalt

Hebegurtmodelle Provider verwenden eingesetzt werden

Vorteile

  • bequem Injektion Anmerkungen zum Datenabruf
  • einfach von anderen Sling-Modellen
  • zu erweitern
  • einfache Einrichtung für Unit-Tests

Nachteile

  • fehlt Flexibilität in Bezug auf die Komponente überlagernde, auf service.ranking Konfigurationen unter Berufung

Wenn Sie mich fragen, ich würde immer Nehmen Sie einen Rahmen als Sling-Modelle oder Slice, was die Entwicklung einfacher und schneller macht.Am Ende ist der Leistungseinfluss durch die Verwendung eines Frameworks nicht wirklich ein Problem, es wäre nicht der einzige Rahmen eines Drittanbieters in dem Projekt. Aber wenn Ihr Projekt leistungsorientiert ist, könnten Sie wahrscheinlich einige Tests mit allen Möglichkeiten durchführen und entscheiden, ob ein solches Framework Ihren Anforderungen entspricht (oder einfach beide kombinieren).