MVC - Verbindung - In-/OutputStream

Status
Nicht offen für weitere Antworten.

gr33b

Aktives Mitglied
Hallo zusammen...

Ich erstelle eine Konsolen- / GUI-Applikation die auf einen Server mittels SerialPort zugreift.

Um einen Befehl an den Server zu senden muss ich einen OutputStream benutzen. Nun ist die Frage, wo soll ich eine Instanz dieser Klasse hinterlegen.

Sollte ich da eine eigene Connection - Klasse erstellen oder gibt es da schon vorgefertigte Klassen?

Ich schätze den OutputStream in Model ein oder ist schon dieser Ansatz völlig verkehrt?

Beim InputStream hab ich keine Mühe, da ein Event vom SerialPort abgefeuert wird, den kann man mit einem EventListener abfangen und gleich auf die Source zurückverfolgen, in dem Fall SerialPort.getInputStream();...

Danke für die Antworten
 

Ilja

Bekanntes Mitglied
Soweit ich das kenne, lässt sich das MVC-Modell nicht auf verteilte Systeme anwenden!

Model beinhaltet die Daten-Objekte - im Grunde wäre der Server dann dein Model, da du von dort die Daten zur Laufzeit ausliest.?

OutputStream gehört zum Control, da dieser für die Manipulation/Übermittlung der Daten an das Model zuständig ist! .. in deinem Fall die Communikation zum Server.
 

gr33b

Aktives Mitglied
Dann müsste ich eine eigene OutputStream Klasse erstellen... Die Frage ist nun wann fängt diese Klasse an zu leben? Ich dachte Controller-Klassen würden erst bei Gebrauch anfangen zu leben, und sterben dann auch wieder... Da aber die Connection noch aufrechterhalten werden muss darf die nicht einfach zugrunde gehen...

Wenn MVC sich nicht bei meiner Applikation anwenden lässt, welches andere Architekturmuster müsste ich gebrauchen, ich kenne sonst kein anderes :autsch: ?
 

Ilja

Bekanntes Mitglied
Du kannst die schon gebrauchen...
Model = Server
View = deine GUI
Control = die Classe, die für die Kommunikation zwischen Server und GUI sorgt (incl. output- und inputStream)

Die Control-Klasse wird zwar als letze instanziiert, doch lebt genau so lange, wie die gebraucht wird... im normalfall bis das Programm beendet wird. es steht einer dauerhaften verbindung also nichts im weg ;)
 

krey

Aktives Mitglied
Ilja hat gesagt.:
Du kannst die schon gebrauchen...
Model = Server
View = deine GUI
Control = die Classe, die für die Kommunikation zwischen Server und GUI sorgt (incl. output- und inputStream)

Die Control-Klasse wird zwar als letze instanziiert, doch lebt genau so lange, wie die gebraucht wird... im normalfall bis das Programm beendet wird. es steht einer dauerhaften verbindung also nichts im weg ;)


Mit MVP (Model View Presenter) gibt es auch die Möglichkeit das Model und den Controller in ein Objekt zu fassen. (Wie das die Leute mit Swing auch ganz schön gezeigt haben.

Model = Server <- Mhhh das Model hält doch die Eigenschaften bzw Attribute
 

Ilja

Bekanntes Mitglied
was glaubst du, was ein server hällt? -.-
DATEN....
was sind Eigenschaften, Attribute...?
DATEN....
 

krey

Aktives Mitglied
Ilja hat gesagt.:
was glaubst du, was ein server hällt? -.-
DATEN....
was sind Eigenschaften, Attribute...?
DATEN....

Sieh dir mal J2EE an, da können die Server (EJB`s) auf einmal wesentlich mehr als nur DATEN zu speichern sondern bieten wieder Methoden usw.

Ein Server kann außerdem lediglich zur Verarbeitung von Daten gedacht sein. Zum Beispiel Großrechner die komplexe mathematische Formeln ausrechnen etc. Die Daten wandern dann an einen anderen PC der sie hält. Mit RMI ist sowas locker möglich...

Also Server != Daten.
 

Ilja

Bekanntes Mitglied
hehe... jetzt beschränke mal deine sicht auf das bestehende Problemm, und du wirst mir recht geben ;)
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben