objektorientiertes Programmieren/ GUI

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
chefkoch117
User
Beiträge: 2
Registriert: Donnerstag 24. Mai 2018, 07:41

Habe mal eine Frage:
Ich möchte ein einfaches Programm schreiben nach dem Pattern MVC (denke, dass ist das richtige)
Die GUI soll jetzt erstmal nichts besonderes sein. Ein paar Buttons, Textfelder und ein Graph.
Das habe ich auch schon mal hinbekommen, aber das hab ich einfach in ein file runtergeschrieben, ohne besondere Struktur.
Wenn ich jetzt aber die GUI vom anderen trennen möchte, wie mach ich das?

Ich hätte jetzt eine Klasse für die GUI gemacht. Mach ich da einfach dann fix jeden Button so wie er gehört (Start-Button, Speicher-Button, usw.) oder mach ich die Buttons auch mit superklasse und vererbung und alles möglichst allgemein? Quasi: Bsp: Button vererbt an StartButton und and Speicherbutton usw. Macht das überhaupt sinn?

Um ein kleines Beispiel wäre ich auch sehr dankbar :)

Freu mich um jede Antwort! Danke

mfg
__deets__
User
Beiträge: 14541
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dieser Tage wird üblicherweise nicht vererbt. Dein Button hat ein Signal, das er verschickt, und daran hängt die gewünschte Funktionalität. Da braucht es also keine Vererbung. Wo genau es sinnvoll ist, Klassen einzusetzen kommt auch auf das konkrete Problem an.
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

Es gibt keine MVC-Pattern, das man nach festem Muster runterschreiben kann. Man braucht auch eine Problemstellung, die dafür geeignet ist, eine Aufteilung nach View und Controller zu machen. Ein sinnvoller Anfang ist es, die gesamte Programmlogik auch ohne GUI verwendbar zu schreiben, das wäre dann das Modell: Methoden, die Daten verarbeiten. Der View-Controller-Part ist die GUI, die Daten aus dem Modell abfragt, darstellt und auf Ereignisse reagiert, die die Daten ändert.

Zur Frage nach Vererbung: ein Knopf ist ein Objekt, das auf Tastendrücke reagiert und dann eine Aktion auslöst. Macht Dein Startknopf etwas anderes? Nein! Also brauchst Du keine Vererbung.
chefkoch117
User
Beiträge: 2
Registriert: Donnerstag 24. Mai 2018, 07:41

ALso mach ich die Ansicht für den Nutzer einfach gleich so wie sie dann stehen soll. Positionierung von Buttons und Textfeldern und Aussehen.
Die Logik dahinter mach ich separat und des verbind ich einfach?
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

Für den Anfang und solange die Komplexität nicht zu groß wird, ja.
Antworten