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).
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