Hi
Wäre noch ratsam die grösstenteils (oder alleinige) verwendete Programmiersprache zu nennen. Wir haben bei uns im Betrieb eine Desktopapplikation für verschiedene Kunden (Logo auswechseln geht nicht, da das Programm enorm viel Textcontent beinhaltet, dieser aber recht variiert). Diese Desktopapplikation kannste dir als eine Art Hauptklasse vorstellen (Jedoch ist der Begriff Framework nicht sehr passend):
- Diese Klasse wird beim Starten initalisiert und konfiguriert das System
- Auf diese Klasse wird eine zweite Klasse drauf gesetzt, welche über gewisse Interfaces (Die in der Hauptklasse definiert/vorgegeben sind) kommuniziert.
- Das eigentliche Programm (welches ja variiert, aber immer ähnlich ist), baut sich nun mit den vorgefertigten Funktionen selber auf (Da kannste zum Beispiel eine XML basierende Struktur zum Generieren verwenden)
Jetzt wirste dich vielleicht fragen, warum haut man nicht alles in eine Klasse, nun da gibts ein paar Gründe
- Vermeidung von Codeduplikation in verschiedenen Projekten - Je nach Plattform generieren wir aus der Klasse eine Bibliothek und lassen diese laden
- Was immer gleich ist, braucht nur ein Interface - KEINE Sichtbarkeit nach aussen (Dies ist darum so, weil die Kernfunktionalitäten immer gleich sind und es auch in jedem Projekt sein sollen)
- Modularisierung - Gewisse Funktionen in der Hauptklasse sind plattformgebunden, auf diese Art aber recht schnell anpassbar
Du kannst aber auch gleich 3 Layer machen (GUI, Funktionalität und IO-Layer). Ich hab dir zu diesem Thema noch eine kleine Lektüre, welche dir eventuell die eine oder andere Idee liefern kann (Von unserer Uni):
http://cs-wwwarchiv.cs.unibas.ch/lehre/ws06/cs203/se10.pdf
Gruss