Klassendesign bei GUI-Entwicklung - MVC und ähnliches



  • Hallo zusammen,

    ich habe beim Programmieren von grafischen Oberflächen öfters das Problem, dass ich eine Klasse die z.B. "MainWindow" heißt habe, die fast alles macht.
    In Zukunft will ich das vermeiden. Als empfohlene Vorgehensweisen habe ich bisher von MVC und MVP gehört.
    Allerdings wird das in den Büchern die ich bisher gelesen habe immer nur kurz angeschnitten und nicht ausführlich besprochen.

    Kennt ihr ein Buch, in dem MVC oder etwas ähnliches ausführlich erklärt wird?

    Zur Info: Ich benutze primär Qt und habe mal ein bischen was mit Swing und Windows Forms gemacht, aber es geht eher um die Prinzipien, deswegen ist das konkrete GUI-Framework und die Sprache nicht so wichtig.

    Alternativ können wir auch hier darüber diskutieren.

    Model und View sind mir relativ klar, aber ich verstehe nicht so ganz, was der Controller ist.
    Manchmal habe ich auch gesehen, dass der Controller Teil des Views ist. Ein View stellt etwas da und kann auch vom Benutzer meistens angeklickt werden und daurch das Model manipulieren.
    Wie kommt da dann der Controller ins Spiel?
    Sagt der View dem controller bescheid sobald er angeklickt wurde und der controller führt dann die aktionen durch, oder wie ist das gedacht?

    Außerdem gibt es noch ein Problem:
    Ich benutze sehr gerne den GUI-Editor. Wenn ich die Klassen jetzt aber komplexer mache, so das die Konstruktoren zusätzliche Argumente brauchen, dann kann ich die gui vermutlich nicht mehr direkt vom editor erstellen lassen, weil der editor nicht weiß, was als zusätzliche argumente übergeben werden müssen.

    Soll ich das dann so machen, dass ich vom gui editor nur die views erstellen lasse und dann controller und models manuell erstelle und dann alles verbinde?



  • Kennt da wirklich niemand nen gutes Buch zu?

    Ansonsten wärs auch schön, wenn wir das hier nen bischen diskutieren können.


Anmelden zum Antworten