Programmaufbau

famco

Aktives Mitglied
Hallo,
ich möchte ein Programm in Java schreiben und weiss nicht genau, wie ich den Aufbau machen soll.

Meine Vorstellung ist im Moment so:

das Programm besteht aus einer Klasse, die ich im statischen main auch instanziiere.
Java:
public static void main (String[] args) { 
   JetStream prg=new JetStream(); 
   prg.go(); 
}
Dabei wird Initialisierung im Konstruktor von JetStream durchgeführt und dann die Methode
go gestartet, die das eigentliche Hauptprogramm darstellen soll.

Insgesamt habe ich bereits eine ganze Reihe Klassen geschrieben, die diverse Aspekte des Gesamtprogramms abdecken. Zum Beispiel eine Klasse, die einen IP-Port öffnet und Daten versenden kann.
Diese Funktion soll von vielen anderen Stellen (in diversen Klassen) verwendet werden.
Mir stellt sich jetzt die Frage, wo ich am besten eine Objekt dieser Klasse generiere, um von den
anderen Klassen Zugriff darauf zu haben.

Wäre nett, wenn jemand einen Tipp für mich hat.

Danke
 

ssoul26

Bekanntes Mitglied
Die Funktion z.B. öffne IP-Port() bleibt sie dabei immer gleich? Wenn sie sich ändert, könntest du ein Interface definieren. Wäre auch möglich, nur diese Funktion als static anzubieten. Hast du eventuell bisschen Code?
 

ssoul26

Bekanntes Mitglied
Ist das in etwa so gemeint?
Java:
public class DataHandler{
.....
.....

public static boolean sendData(int iPort, Object oData){
....
....
}

public class tester{

....
....
private boolean send(){
return DataHandler.sendData(this._iPort,this._oData);
}

}
}
 
B

bone2

Gast
mit so wenig infos lassen sich da nur schwer aussagen treffen.
static is doof.

objekte erzeugen und dann im jeatstream konstruktor oder go übergeben vielleicht?
 

tfa

Top Contributor
Vergesst das mit dem static! Neben dem Konstruktor könnte man Objekte auch per Setter übergeben. (Das Stichwort lautet Dependency-Injection)
 
M

maki

Gast
.. zwar eine Lösung, nicht elegant sondern schlicht globale Variablen und damit kein OO, DI ist definitiv besser und das darf man ja wohl auch noch so sagen ;)
 

ssoul26

Bekanntes Mitglied
Und zwar eine so unelegante, dass du selbst das Wort "Lösung" in Anführungsstriche setzen musst?

Naja über die korrekte Interpretation der Anführungszeichen lässt sich "streiten" ;)

Ihr dürft/sollt/könnt sagen was ihr wollt!! :) Stellt sich die Frage, was der Threadersteller verfolgt. Eine schnelle temporäre Lösung, oder gar eine Einweisung in Advanced Programming.
 

famco

Aktives Mitglied
Es ist ja nicht nur die Methode ipport sondern ein ganzes Objekt, welches genau eine Netzwerkverbindung verwaltet und bearbeitet.
Und genau das soll von vielen anderen Objekten benutzt werden können. Außerdem kann es auch noch mehrere dieser Netzwerkobjekte geben ....
Edit:
eigentlich bräuchte ich sowas wie "globale Objekte" ...
 
Zuletzt bearbeitet:

Ähnliche Java Themen

Neue Themen


Oben