Allgemeine Frage zur Programmstruktur

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
Bang-Johansen
Beiträge: 43
Registriert: 11. Juli 2011 22:51

Allgemeine Frage zur Programmstruktur

Beitrag von Bang-Johansen »

Hallo,

ich überlege gerade, wie ich am besten alle Klassen und die Hauptfunktionen zusammenschalte.

Ich habe ein Hauptfenster (mainwindow.cpp) von wo ich über Menus und Tasten Funktionen aufrufe,die in mehreren Klassen beheimatet sind.
Die meisten Klassen sind unabhängig von anderen Klassen, es gibt aber welche, aud denen ich von mehreren Klassen Zugriff brauche.
Deshalb habe ich diese Klasse static deklariert und die anderen Klassen habe ich dann in der Klasse eingebunden, wo ich diese brauche.
So richtig gefällt mir das mit der static Klasse nicht, aber mit Singleton habe ich es noch nicht hinbekommen.
Ich habe auch überlegt, daß ich die static Klasse in eine normale Klasse ändere und den Zugriff über eine andere Klasse einfach durchreiche.


Ich überlege auch, es anders zu machen.
Ich nutze mainwindow als meine Hauptdatei, wo der ganze sonstige Programmcode reinkommt und wo ich jede einzelne Klasse als Objekt einfüge,
d.h. jede Klasse binde ich nur in mainwindow ein.
Wenn ich jetzt Kommunikation von Klassen untereinander benötige, muß ich diese halt über mainwindow durchreichen.
(mainwindow wäre somit was wie eine Telefonzentrale und die Klassen wären die Telefone)
Ich denke, daß dadurch die Abhänigkeit der Klassen voneinander verringert wird, und das Programm einfacher zu erweitern.

(Falls dies nicht ganz klar ist, kann ich noch ein Grafiken nachreichen.

Wie macht Ihr das mit der allgemeinen Programmstruktur ?
Gelernte Programmierer werden schon ausreichend Vorbildung haben, ich komme halt aus der Hardwareecke (Elektroniktechniker).
Habe meine Büchersammlung schon etwas durchsucht, aber dieses Thema ist nicht sehr vertiefend behandelt worden.

Danke Euch

Bang-Johansen
woody
Beiträge: 85
Registriert: 1. April 2011 21:13

Re: Allgemeine Frage zur Programmstruktur

Beitrag von woody »

Denke, dass die 2. Variante, die du beschreibst ausreichend ist.
krisztian
Beiträge: 8
Registriert: 24. Dezember 2010 17:20

Re: Allgemeine Frage zur Programmstruktur

Beitrag von krisztian »

Hey,

ich mache es immer so, dass ich unter meiner MainWindow Klasse noch eine Datenverarbeitungsklasse habe.
Der Ablauf ist dann so, dass eine beliebige Gui Aktion Informationen generiert (String zum Laden einer Datei et.c) Diese Informationen werden in der MainWindow Klasse dann vorverarbeitet und an die Datenverarbeitungsklasse übergeben. Diese erstelt dann die einzelnen Unterklassen die benötigt sind und hält zugleich die benötigten Informationen in Membervariablen.

Wenn man so will, ist diese Klasse sozusagen mein Vorarbeiter der der Arbeit verteilt. Das alles kann man sicherlich auch in der MainWindow Klasse vollführen aber ich hab diesen Weg als für mich klarer empfunden, da auf diese Art der Arbeitsvorgang(Der Vorarbeiter) sozusagen zum Objekt wird und ich mehrere Instanzen parallel haben kann (mehrere Dateien geladen, etc.).

Hab das aber auch alles nicht wirklich von Grund auf gelernt. Deshalb ist das nur als eine mögliche (und nicht unbedingt richtige) Herangehensweise zu sehen.

Gruß,
krisztian
Antworten