Klassen- Grundsatz- frage

09/10/2008 - 19:18 von Thomas Hübner | Report spam
Hi NG,

Die Profis werden mich sicher auslachen aber ich fange gerade erst an
Klassen effektiv zu nutzen. Im aktuellen Vorhaben habe ich eine sehr
große Klasse "Settings" welche die Kommunikation über Save/Getsettings
regelt. Diese Klasse wird im Form.Load der Hauptform geladen

Public Setup As Settings

Private Sub form_Main_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
Setup = New Settings
End Sub

Jetzt gibt es ein form_Settings als "Oberflàche" für diese Klasse. Ich
greife auf die Klasse mit form_Main.Setup zu.

Frage: geht das auch anders oder ist das so korrekt?

Weiterhin habe ich eine Klasse (Auswertung von UDP Paketen) die in einem
separaten Thread (UDP Client) sehr oft instanziert wird und auch auf
diese Klasse zugreifen muß.

Möglichkeit 1 - die Klasse jedes mal zu instanzieren fàllt glaube ich aus
Möglichkeit 2 - über form_Main.setup auf die Klasse zugreifen ist glaube
ich nicht im Sinne des Erfinders (Spaghetti)
Möglichkeit 3 - die Klasse Byref zu übergeben (geht glaube ich nicht aus
einem von form_Main entkoppelten Thread

Jetzt bin ich mit meinem Latein am Ende. :-(

Kann mir jemand einen Tipp geben?

Gruß,
Thomas
 

Lesen sie die antworten

#1 Armin Zingler
09/10/2008 - 20:06 | Warnen spam
"Thomas Hübner" schrieb
Hi NG,

Die Profis werden mich sicher auslachen aber ich fange gerade erst
an Klassen effektiv zu nutzen. Im aktuellen Vorhaben habe ich eine
sehr große Klasse "Settings" welche die Kommunikation über
Save/Getsettings regelt. Diese Klasse wird im Form.Load der
Hauptform geladen

Public Setup As Settings

Private Sub form_Main_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
Setup = New Settings
End Sub

Jetzt gibt es ein form_Settings als "Oberflàche" für diese Klasse.
Ich greife auf die Klasse mit form_Main.Setup zu.

Frage: geht das auch anders oder ist das so korrekt?

Weiterhin habe ich eine Klasse (Auswertung von UDP Paketen) die in
einem separaten Thread (UDP Client) sehr oft instanziert wird und
auch auf diese Klasse zugreifen muß.

Möglichkeit 1 - die Klasse jedes mal zu instanzieren fàllt glaube
ich aus Möglichkeit 2 - über form_Main.setup auf die Klasse
zugreifen ist glaube ich nicht im Sinne des Erfinders (Spaghetti)
Möglichkeit 3 - die Klasse Byref zu übergeben (geht glaube ich nicht
aus einem von form_Main entkoppelten Thread

Jetzt bin ich mit meinem Latein am Ende. :-(

Kann mir jemand einen Tipp geben?




Wenn es nur eine Instanz der Klasse gibt, dann würde ich sie in einer
anderen Klasse als statisches Member verfügbar machen, z.B:

class Main
public shared readonly Settings as new settings
end class

Zugriff dann über Main.Settings.


Armin

Ähnliche fragen