Hallo zusammen,
nachdem ich auf meinen Post keine Antwort bekommen habe, gehe ich davon aus, dass der Stoff von mir entweder nicht gut genug erklärt war, oder es keiner versteht.
In der Zwischenzeit habe ich ein bischen recherchiert (Martin Fowler & Co.) und mir ein Konzept überlegt. Dieses sieht folgendes vor:
- Business-Schicht wurde um die Komponente "viewManager" erweitert. Dieser
verwaltet zentral (Singleton!) die View-Informationen in sog. "viewObject"s.
- Ein "viewObject" kann per Konfiguration initialisiert werden und es besteht damit die
Möglichkeit Standard-Views zu definieren (z.B. Auswahlformular).
Damit ist möglich, dass eine Action nach Ausführung den View ändert und weitere "ViewAttributes" bekannt gibt. Hier können von der Action erzeugte Attribute oder Input-Attribute der Action publiziert werden. Die
Präsentations-Schicht (Document Controller) kann diese dann zum Aufbau des richtigen Views verwenden und den View ggf. mit den im "viewObject" enthaltenen Informationen füllen. Der Ablauf des
DB-Backups sieht dann wie folgt aus (gekürzt):
- Action erzeugt ein DB-Backup
- Action holt sich das "viewObject" für den entsprechenden View
- Action füllt die Attribute es "viewObjects" mit dem Backup-Dateinamen und einigen
weiteren Daten
- Document Controller zieht sich das entsprechende "viewObject"
- Document Controller baut den im "viewObject" beschriebenen View auf und füllt
diesen mit Attributen desselben (z.B. Name des Backup-Files)
Da die Business-Komponente "viewManager" generisch ist, kann diese auch für alle weiteren Teile der Software verwendet werden. Voraussetzung ist, dass diese immer singleton instanziiert ist.
Schade, dass so wenig Response kam, denn das Thema ist wirklich sehr interessant. Den Aussagen nach zu urteilen müssten einige hier im Board sicher das Know-How haben... Sollte jemand trotzdem Interesse an derartigen Konzepten (Web-Applikationen im Page- und Frontcontroller-Pattern) haben, so möge er sich einfach melden.