Struktur eines Softwareprojektes

Status
Nicht offen für weitere Antworten.

Mork0075

Aktives Mitglied
Hallo

Ich habe eine Idee für ein Programm und will dieses nun in die Tat umsetzen. Nur bin ich mir noch nicht im klaren darüber, welches Konventionen man da für ein gelungenes Projekt einhalten sollte. Fängt man erst mit den GUI Klassen an? Welche Packtestruktur legt man an und verteilt die Klassen? Also was sollte man beachten um effektiv und sauber zu arbeiten?

Vielen Dank schonmal
 
tja, das musst du dir schon selbst überlegen. vielleicht hilft dir auch UML weiter. damit kannst du erstmal pseudo-klassen, methoden und beziehungen zwischen ihnen erstellen.
 
ja - versuch erstmal auf Papier zu bringen was du eigentlich machen willst (UML / normales Schreiben).

Dann wirst du sehen was mehr Zeit einnimmt und was eher schnell zu lösen ist... Hast du ein gutes Softwarekonzept ist das implementieren meist nicht mehr das tragische (höchstens du verwendest tricky algorithmen...). Daran würde ich mich dann orientieren und die harte Sachen erst implementieren (mit vielen TestKlassen !)
 
Ok das ganze mit einem UML Modell anzufangen ist klar, anders kann man eh nicht sauber arbeiten. Aber wie man dann weiter vorgeht also auf was man dann die Priorität setzt war mir unklar.

Die Packages in die Komponenten des MVC aufzuteilen klingt logisch aber was ich mich frage, trennt ihr wirklich zw Controller und View? Sprich sind das verschiedene Klassen bei euch? In meinem ersten GUI Design war das beides in einer Klasse. Wenn man das auch getrennt machen kann, wie binde ich das ein so das es hinterher nicht 2 Fenster sind?
 
Anonymous hat gesagt.:
Die Packages in die Komponenten des MVC aufzuteilen klingt logisch aber was ich mich frage, trennt ihr wirklich zw Controller und View? Sprich sind das verschiedene Klassen bei euch? In meinem ersten GUI Design war das beides in einer Klasse. Wenn man das auch getrennt machen kann, wie binde ich das ein so das es hinterher nicht 2 Fenster sind?

Das MVC Model ist der Optimal fall den man versuchen sollte einzuhalten - dass es nicht immer klappt ist auch wieder logisch. Dennoch versuch ich immer die beiden Ebenen zu trennen !

Was meinst du mit 2 Fenstern ? Sowohl Controll Ebene als auch Model Ebene haben nix mit Fenstern oder GUI Elementen zu tun....
 
die view komponente ist nur für das darstellen der daten whatever verantwortlich.
der rest läuft im controller ab
 
Dann hab ich das was falsch verstanden. Also zu welcher Klasse zählt man die GUI Elemente? Die Controller Elemente sind ja auch GUI mäßig hinterlegt. Wenn ich zb ein Terminkalender hab, dann wäre für mich Model das was alles verarbeitet - View das wo ich meine Termine sehe - und Controller dort wo ich meine Termine eingebe. Ich irre oder?
 
Mork0075 hat gesagt.:
Dann hab ich das was falsch verstanden. Also zu welcher Klasse zählt man die GUI Elemente? Die Controller Elemente sind ja auch GUI mäßig hinterlegt. Wenn ich zb ein Terminkalender hab, dann wäre für mich Model das was alles verarbeitet - View das wo ich meine Termine sehe - und Controller dort wo ich meine Termine eingebe. Ich irre oder?
Ja da irrst du dich 🙂

View Ebene ist alles was die Visualisierung der Model Ebene betrifft - alle GUI Klassen gehören hier rein
Model Ebene sind die Klassen in dem die verwendeten Daten benutzt werden
Controller Ebene - VermittlerEbene zwischen View und Model. Übergibt die Daten von Model Ebene an View Ebene damit diese sie anzeigen kann. Bzw. bekommt manipulierte Daten der View Ebene um sie in der Datenklasse zu ändern....
 
Ok, kannst du mir das Kurz an nem Beispiel darstellen? Modell ist die Basis, View ist das was ich sehe. Was sind das für Klassen beim Controller? Was für Methoden schreibe ich da rein?

Sagen wir ich hab im Model eine Methode Add die mir 2 Eingaben Addiert.
Im View hab ich 2 Eingabefelder und einen Add Button.
Ist dann der Controller das wo die Methoden drin stehen die sich die 2Strings aus der GUI holen, sie zu INts KOnvertieren und dann die Methode Add aufrufen?
 
Ich denke mal im Controller stehen sämtliche ActionEvents drinne, MouseListener, usw, alles, was halt auf Eingaben reagiert, die Werte aus der Gui (zum Beispiel aus einem Textfeld) liesst und an das Model zur Bearbeitung weitergibt.


Quasi du siehst 'nen Button <- View
Du drückst drauf, es passiert was <- Controller
das Passierte wird berechnet <- Model
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben