2009-06-03 9 views
6

Kann Webflow für eine relativ einfache Anwendung verwendet werden, um die Notwendigkeit zu reduzieren, Formular-Controller zu erstellen? Nun, sicherlich kann es, aber ich denke, was ich frage ist: kann und sollte ich eine vollständige Anwendung mit Webflow für alle der Controller/View-Logik schreiben, wenn mein Ziel dafür ist, die Menge an Code zu reduzieren, die ich schreibe ?Kann Spring Webflow die Notwendigkeit von Controller-Klassen beseitigen?

Ich kämpfe mich durch die (nicht zufrieden) Webflow Dokumentation und frage mich, ob es sich lohnt, oder ob ich nur regelmäßig MVC bleiben.

Antwort

6

Der Anwendungsfall für Web Flow ist das Problem mit dem Controller-Logik beteiligt zu lösen, die mehrseitige Navigation (ein pageflow oder Assistenten) erstreckt. Wenn Sie nicht über mehrere Seiten verteilt sein müssen (oder mehrere kleine Formulare benötigen, um an einer einzelnen Transaktion teilzunehmen), benötigen Sie wahrscheinlich keinen Pageflow.

Die meisten Anwendungen brauchen dies jedoch. Alles andere als nur CRUD kann davon profitieren.

Pageflows bieten einen natürlichen Cache für die Daten und kann zu Problemen sonst beteiligt lösen, wenn die Taste Navigation und mehrere Frames/Tabs zurück.

Wenn Sie darüber nachdenken, wie Sie Daten speichern, die länger als eine einzelne Anfrage leben müssen (die übliche, aber fehlgeleitete Ansicht soll in der HttpSession gespeichert werden), werden Sie definitiv etwas aus dem Web Flow herausholen. Wenn Sie so etwas nicht machen und alles im Anforderungsbereich bearbeiten, dann ist die Wahrscheinlichkeit groß, dass Sie keinen Web-Flow benötigen.

Update: Web Flow die Notwendigkeit spezialisierte Controller-Klassen beseitigen kann nach einem Weg von Seitenübergängen/Form-Updates entlang eines vordefinierten Workflow zu erreichen. Wenn Sie dies nicht tun müssen, können Sie sich mit MVC viel Konfigurationsaufwand ersparen.

+0

Ok, aber sollte alles Teil eines Flusses sein? Nehmen wir an, ich habe einen Bildschirm, auf dem nur einige Datensätze angezeigt werden. Der Benutzer kann auf einen Datensatz klicken und wird zu einem Bildschirm geleitet, wo er ihn aktualisieren kann. Vielleicht hat jeder Datensatz in der Ansicht einfach einen Link zur Aktualisierungsansicht und übergibt die Datensatz-ID. Ich könnte einen Controller schreiben, um diese Anfangsansicht einzurichten, oder ich könnte einen "Fluss" mit einem Zustand haben. Ich verstehe hier nichts ... – Boden

+0

In meinem Verständnis sollten Sie alles oder nichts mit Web Flow gehen. In dem beschriebenen Szenario benötigen Sie keine spezialisierten Controller. Aber um Ihre Frage so zu beantworten, wie sie ursprünglich formuliert wurde, ja, das ist ein Ziel von Web Flow - um die Notwendigkeit zu beseitigen, dass sich Controller auf die Behandlung von Workflow-Interaktionen spezialisiert haben. – cwash

3

SpringMVC und Spring WebFlow kann zusammen geeignet, wenn verwendet werden - es gibt nichts seltsam darüber.

Wenn Sie einen Anwendungsfall haben, die einfach crud ist und Sie denken, Sie leicht diese mit SpringMVC implementieren könnte dann das ist wahrscheinlich die richtige Wahl.

Hinweis: Sie können dies auch in WebFlow erreichen und das weder besser noch schlecht.

Wenn Sie Assistenten Logik und Zustandsverwaltung Anforderungen dann kompliziert haben WebFlow groß ist und Sie viele weitere Features kostenlos zu bekommen wie Transaktionen und Persistenzunterstützung (Version-2).

Verwandte Themen