# MVC - Verbindung - In-/OutputStream



## gr33b (15. Nov 2005)

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 (15. Nov 2005)

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 (15. Nov 2005)

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 (15. Nov 2005)

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 (29. Mrz 2006)

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)
> ...




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 (3. Apr 2006)

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


----------



## krey (3. Apr 2006)

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 (4. Apr 2006)

hehe... jetzt beschränke mal deine sicht auf das bestehende Problemm,  und du wirst mir recht geben


----------

