2011-01-05 5 views
1

Ich bin ziemlich neu in Seam und arbeite an einem relativ großen Projekt bei der Arbeit. Die Anwendung ist ziemlich kompliziert, da auf einer einzelnen Seite zu jeder Zeit viel los ist. Ich versuche herauszufinden, wie das zu strukturieren ist und möchte ein Feedback bekommen.Seiten in einer Seam-Anwendung aufteilen

Ein gutes Beispiel dafür wäre Facebook (oder eine ähnliche Social Media App). Facebook hat eine Menge Zeug auf dem Bildschirm. Wenn all diese Logik in einer einzigen Ansicht und Back-Bean enthalten wäre, wären die Dateien monolithisch.

Die Art, wie ich es sehe, ist, dass Sie verschiedene Komponenten haben. In Facebook zum Beispiel würde es eine Komponente geben, die Ihre Freunde oder Freunde gemeinsam mit einer anderen Person behandelt, es würde eine andere Komponente geben, die Einladungen, Vorschläge usw. bearbeitet.

All dies ist eine separate Funktionalität auf einer einzelnen Seite angezeigt, in einigen Fällen, obwohl sie separate Komponenten sind, sind sie am Ende des Endes verwandt. Zum Beispiel, wenn ich etwas auf dem Hauptbildschirm (d. H. Nicht die Elemente in den Seitenleisten) anklicke, das eine Ajax-Anfrage erzeugt, muss eine Komponente in der Seitenleiste möglicherweise automatisch aktualisiert oder neu gerendert werden.

Neben Seitenleistenkomponenten können im Hauptbereich einer Seite mehrere verschiedene Elemente vorhanden sein (z. B. ein Registerkartenbereich, in dem jede Leiste tatsächlich eine separate oder separate Ansicht der Seite darstellen kann).

Es wäre hässlich, wenn ich alles in einer einzigen Backbohne oder ähnlichem behandeln müsste. Es macht für mich Sinn, dass jedes dieser disparaten Elemente eigene Controller (Backing Beans?) Hat und was nicht. Wenn ich in der Komponente x eine Aktion mache, könnte seine Bean ein Ereignis auslösen, das von der Bohne der Komponente y gehört werden könnte (wodurch die Komponente y neu gerendert wird).

Irgendwelche Ideen oder Ressourcen, die ich mir ansehen könnte?

Antwort

2

Seam ermöglicht die Aufteilung von Seiten in mehrere Fragmente mit separaten Hintergrundkomponenten. Sie können ziemlich unabhängig sein, können aber auch interagieren.

Um es zu lernen, beginnen Sie mit the Seam tutorial at JBoss und das Buch Seam in Action.

Für die Ajax-Interaktion, die Sie suchen, können Sie auch die RichFaces Developer Guide betrachten.