Allgemein: Objektorientiert

dadom110

Erfahrenes Mitglied
Guten Tag Zusammen,

eine allgemeine Frage zur objektorientierten Programmierung. Folgendes Problem habe ich immer wieder: ich versuche es mal ganz abstrakt zu erklären und hoffe jemand versteht es :D :

Ich habe zwei Klassen, die ein Frame darstellen (VE), nun erzeuge ich ich zwei Objekte, jeweils eins aus beiden Klassen.

Klasse 1 >> Main-Frame
Klasse 2 >> Options-Frame

So, nun "kennt" das Main-Frame das Option-Frame ja, weil er es selber erzeugt im Programmcode (Klasse2 options_frame=new Klasse2() , so was in der Art) und kann nun mit allen Funktionen vom Options-Frame arbeiten.

Aber wie sieht es anders herrum aus? Wenn mein Options-Frame auf Funktionen des Main-Frame zugreifen möchte? Gibt es da eine andere möglichkeit als das sich das Main-Frame beim erzeugen des Options-Frames selber übergibt? Hab was von getparent oder so gehört, das ein Objekt seinen "Erzeuger" erkennt, aber irgendwie bin ich noch nicht hinter die Funktionsweise gekommen, bzw. es klappt nicht so wie ich das gedacht habe.

Hoffe da kann mich mal jemand aufklären, schönen Dank schon mal
Dom
 
Hi,

dadom110 hat gesagt.:
Gibt es da eine andere möglichkeit als das sich das Main-Frame beim erzeugen des Options-Frames selber übergibt?

Spricht was gegen diese Vorgehensweise? Habe das auch - bis jetzt zumindest - immer so gemacht. (Ausgenommen in Verwendung mit dem Spring Bean-Container ;-) )

Gruß

Romsl
 
HiHi,

in großen Projekten finde ich das immer sehr umständlich mit seinen Objekten "rum zu werfen" darum hatte ich mal ein bisschen geforscht und war wie gesagt auf dieses getparent gekommen, und dachte das man damit was anfangen kann :?

Mfg
Dom
 
Hallo!

Entweder machst du das so, wie beschrieben, dass du die "Fenster" welche sich kennen sollen direkt voneinander Abhängig machst, oder du verwendest sowas wie eine zentrale WindowRegistry. Dabei stattest du jedes Fenster/View mit einer eindeutigen ID aus. Anschließend speicherst du eine Referenz zu diesem Fenster mit der entsprechenden ID in dieser WindowRegistry. Anschließend kannst du dann an jeder Stelle deiner Anwendung auf die entsprechenden Views zugreifen.

Gruß Tom
 
Du könntest auch mit Observer und Observeable arbeiten, um die Abhängigkeit zu reduzieren, aber Kommunikation zu ermöglichen. Da Du Dein Problem nicht besonders konkret beschrieben hast, muss dass in Deinem Fall aber nicht die beste Lösung sein. Auch Listener könnten für Dich das richtige Werkzeug sein.

Gruß hpvw
 
Ähnlich dem WindowRegistry Konzept habe ich das mal mit dem ApplicationContext von Spring angewandt.
 
hpvw hat gesagt.:
Du könntest auch mit Observer und Observeable arbeiten, um die Abhängigkeit zu reduzieren, aber Kommunikation zu ermöglichen. Da Du Dein Problem nicht besonders konkret beschrieben hast, muss dass in Deinem Fall aber nicht die beste Lösung sein. Auch Listener könnten für Dich das richtige Werkzeug sein.

Gruß hpvw

Observer-Observeable Pattern, das geht doch über Interfaces gelle?
also in obigem Fall würde die Frame-Klasse ein Interface implementieren welches von Options-Frame aufgerufen wird. Und Frame meldet sich dann an Options-Frame an.
Ja so hätte man nicht so viele Abhängigkeiten. So was in der Art mach ich recht häufg auch Listener baue ich gerne, die im Ansatz ja eigetnlich sehr ähnlich sind.

Takidoso
 
Zurück