Zitat von
xZise:
Oh man... das es SOOOO schwer ist, hab ich nicht gedacht
Also ich habe es so programmiert:
Code:
=============> LangMain (Allgemeine Prozeduren)
LangLabel
<=== LangProcs (Prozeduren, die Daten von den Komponenten benötigen
Das Problem ist ja (eigentlich wäre es schöner LangProcs und LangMain in einer zu Haben), dass LangProcs Informationen der Komponenten brauch. Und die Komponenten müssen auf Allgemiene Prozeduren zurgreifen (oder es wäre effektiver), da dort Code für jede Komponente steht.
Verstehe ich nicht wirklich, muss ich mal sagen.
Zitat von
shmia:
Es gäbe da noch eine andere interessante Technik.
Alle Komponenten haben die virtuelle Methode Notification.
Man kann diese Methode überschreiben und könnte automatisch Verbindungen zur MasterKomponente (LangMain) herstellen und trennen.
Hm, woher wissesn die denn wer die Master-Komponente ist? Das bekanntmachen ist eine Art registrieren und läuft letztlich doch auf Observer hinaus. Ausserdem muss die Masterkomponente alle "Kinder" benachrichtigen, nicht umgekehrt (oder habe ich da etwas falsch verstanden?) Also der Fall tritt ja letztlich immer auf. Verändert man etwas an der Masterkomponente sollen diese Änderungen auch an allen Kindern stattfinden. Umgekehrt geht nicht (alle Kidner verändern), bleibt also noch ein Kind verändern, allen Bescheid geben, was dann aber auch ein Kind -> Master -> an alle sein könnte.
Damit ein Master also alle Kinder kennt müssen diese sich beim Master registrieren (=> Observerpattern gut geeignet). Natürlich kann man noch etwas drum rum bauen (z.B. eine Fabrik), die die Registrierung automatisch übernimmt.