Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#6

AW: MVC -- Kommunikation unter Controllern?!

  Alt 15. Okt 2011, 11:14
Meinst du jetzt irgendwelche Instanzen oder einfach nur Units?
Ein Controller ist bisher nur eine Klasse. Wie viele Instanzen ich davon habe kann ich dir pauschal leider nicht sagen, da ich das noch nicht komplett durchdacht habe. Ich wollte schon fast jeden Controller zu einem Singleton umbauen, aber bin mir da noch nicht so wirklich sicher, ob das sinnvoll ist.

Im Prinzip hast Du diese Überkomponente schon: TApplication. Du kannst einen ApplicationController bauen, als wrapper für global Application, und hookst (<-was ein Wort) dort z.B. den OnMessage event von TApplication. Der Application Controller enthält eine Liste mit allen ChildControllern und leitet die Messages weiter, bis einer Handled true setzt (Chain of Responsability). Die VCL macht das eigentlich nicht anders, nur, das eben die Logik auf einer Form liegt, und nicht ausgelagert ist.
Jup, ich habe bisher einen Wrapper für dieses TApplication-Objekt, wobei ich hier auf die Nachrichtenverwaltung nicht näher eingehe. Bisher unterstützt mich dieses Objekt nur beim "Hochfahren" und "Herunterfahren" der Anwendung. Insgesamt soll später mal eine Framework herauskommen, welches ich vor allem bei größeren Applikationen nutzen will.

Das mit den Messages muss ich mir mal anschauen, denn die Idee ist an sich nicht schlecht. Nur schaffe ich somit wieder Abhängigkeiten zwischen den einzelnen Controllern und deren Aktionen -- aber ich habe sowas ja eigentlich immer irgendwie, weswegen ich dann aber ein sinnvolles System aufbauen müsste, in so fern ich über Botschaften laufen will.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat