Hallo nun_ja,
Ein wirkliches Rezept für Architektur gibt es nicht. Es gibt ein paar gängige Konzepte, aber nicht sehr viel mehr.
Zu empfehlen ist:
- GUI und Funktionalität trennen.
- Aufgabenbereiche durch Modularisierung trennen.
Du hast also Klassen für einzelne Bereiche der GUI (Am Beispiel einer IDE z.B. für Editor, Projektverwaltung, Debugger) und in einer Schicht darunter Klassen, die die Funktionalität hinter der GUI und das Datenmodell bzw. die Datenmodelle (in einer komplexen Anwendung kann es durchaus Sinnvoll sein, für verschiedene Aufgaben getrennte, oder nur sehr Schwach voneinander abhängende Datenmodelle zu haben) realisieren.
Mit MVC sollte man vorsichtig sein. Oft wird MVC so umgesetzt, dass es ein Modell, einen Controller und mehrere Views gibt. Damit läuft man aber in Gefahr, dass man die gesamte Ablauflogik im Controller zentralisiert und sich damit die Flexibilität der Architektur zerschießt.
MVC ist meines Erachtens zumindest bei Desktopanwendungen, die idR. über so etwas wie einen festen Arbeitsablauf nicht verfügen, nur als lokale Architektur geeignet (im Falle des IDE-Beispiels also z.B. jeweils einzeln für den Editor, den Debugger usw.) und nicht als globale Architektur.
Wenn Du etwas über Architektur von (größeren) Desktopanwendungen lernen willst, schaust Du Dir am besten mal eine von innen an. Die Java IDEs (Netbeans, Eclipse) eignen sich da ganz gut. Beide bieten meines Wissens auch das Framework an, auf dem sie jeweils selbst basieren.
Für eine kleinere Anwendung mag das allerdings etwas übertrieben sein.
Grüße
Daniel