Strukturierung

M

Monkey

Gast
Hallo,

Schreibe derzeit an einem kleinen Chatsystem indem die Nachrichten per Broadcast versendet werden. Grundfunktion steht bereits, jedoch habe ich eine Frage bzg. der richtigen "Strukturierung" des Clients. Der Client besteht zur Zeit aus nur einer Klasse in der folgendes gemacht wird:
  • Verbindung zum Server aufbauen
  • neuen Thread für das lauschen auf einen neuen Inputstream
  • Gui erstellen
Sofern eine neue Nachricht eintrifft wird diese in einer TextArea ausgegeben, gesendet wird eine Nachricht durch drücken auf einen Button wodurch ein ActionEvent ausgelöst wird(in diesem wird dann auf den Outputstream geschrieben).

Nun möchte ich gerne das Gui in eine eigene Klasse packen sodass ich zwei Klassen für die Client seite habe(Client und Gui), wie gehe ich da am besten vor?
  • Ein Objekt der Klasse Gui in Client erzeugen ?
  • Ein Objekt der Klasse Client in Gui erzeugen ?
Bei ersterem wäre es dann nicht mehr möglich bei einem ActionEvent auf den Outputstream der Klasse Client zuzugreiffen.

Wäre über eine kleine Hilfe sehr dankbar.


Gruß
 

sambalmueslie

Bekanntes Mitglied
Hm zunächst einmal ist es egal wie herum du deine Abhängigkeiten definierst.
Gebräuchlicher ist aber folgendes (guckst du Wikipedia unter MVC)

Du hast einen Controller. Dieser hat im großen und ganzen die Aufgabe deines Clients.
(Verbindung aufbauen, lauschen usw.)

Dann hast du ein Model, in welchem die Nachrichten gespeichert werden und zwar vom Controller.
Real sieht das dann so aus, dass der Controller den 'Outputstream' anzapft und dann immer wenn er beispielsweise ein Zeilenende empfängt die Zeile in das Model schreibt.

Das Model erlaubt es dem GUI(View) sich als Listener(Observer (Entwurfsmuster)) zu registrieren.
Immer wenn das Model neue Daten bekommt werden die Beobachter benachrichtigt.

Das View ist dann nur noch dafür da, die Informationen anzuzeigen. Also in der Textbox auszugeben.

Wenn du es einfacher haben möchtest, dann kombiniere Model und Controller und verwende nur das Observer-Pattern.
 
M

Monkey

Gast
Dankeschön, werde mich dann wohl erst einmal ein wenig mehr über das MVC und Observer Pattern Informieren.

Gruß
 

Ähnliche Java Themen

Neue Themen


Oben