@Hans Ditter
Ich habe noch einen kleinen Vorschlag, wie Dir die Realisierung Deines Projekts vielleicht besser gelingt und Du Dir Übersicht verschaffst.
Lege Dir doch ein Projekt als Prototyp an und erstelle alles in verschiedenen Forms udn Units, die Du bereits von anfang an logisch nach Deinem Schichten-Modell anlegst (Form für die
GUI,
Unit für die Logik der
GUI; Datenmodul mit den Datensensitiven Komponenten,
Unit für die Logik zum Datenmodul usw.).
Gehe die Anforderungen, die Du an das System stellst durch und plane sie in Klassen ein, die Du wiederum den verschiedenen Schichten zuordnest.
Wenn dieser Prototyp läuft, dann erst beginnst beginnst Du mit der Auslagerung in die DLLs und schreibst (je nach Realisierungs-Strategie) eine Konsolenanwendung (die eigentliche EXE-Datei), die schließlich die DLLs lädt...
Also, kurzgefasst würde ich folgendes Vorgehen vorschlagen:
1. Anforderungen an das zu erstellende System sammeln
2. Die Anforderungen analysieren und daraus zu erstelende Klassen, Objekte usw. ableiten
2.a. Die Realisierungsvorstellungen können dabei in kleinen Mini-Tests ausprobiert werden.
Auf diese Weise sieht man schon sehr schnell, ob und wie ein Grundgedanke sich umsetzen
läßt.
3. Das erstellte Modell in einem oder mehreren Prototypen programmatisch umsetzen
3.a. Hier können ggf. weitere Anforderungen erkennbar werden, die wiederum eingeplant um
umgesetzt werden müssen/können
ODER
3. Umsetzung des Gesamtprojekts in logischen und testbaren Teileinheiten, die später
zusammengefügt werden. (Kann/sollte dennoch mit Prototyping verbunden sein)
4. Fertigstellung des geplanten Systems
Besonders hilfreich wären hierbei auch die
Unit-Tests mit DUnit. (Ein Gedankenansatz der später bei Dir mit Sicherheit ganz von allein hinzukommen wird...)
Viele Grüße,
Marc
P.S.: Häng Dich noch nicht zusehr an Dein geplantes Projekt, spiel doch mal ein wenig mit den Grundlagen herum. Schreib kleine Testprogramme, bis Dir die Strukturen für Dein Projekt klar werden.
(z.B.: einfach mal eine Klasse entwerfen; oder in Hinblick auf DLLs: schick doch einfach mal einen einfachen String in eine
DLL, verändere ihn dort und sende ihn wieder zurück. Danach baust Du Dein Programm und auch Deine
DLL ein wenig aus und wende Dich komplexeren Aufgaben zu.