Das Auslagern kann man sich
imho sparen, weil es mehr Ärger als Nutzen bringt
Dem würde ich voll zustimmen und finde es auch nicht Offtopic.
Wenn man seine Anwendung in kleinere Teile (DLLs, BPLs) zerlegen möchte, kommt es drauf an, wie man die Schnitte legt.
Man kann
"vertikal" oder
"horizontal" schneiden.
Ein vertikaler Schnitt wäre z.B. wenn man Formulare in DLLs auslagert.
Ich nenne es "vertikal" weil von ganz oben (Benutzeroberfläche) durch die Mitte (Programmlogik) bis ganz unten (Datenbankzugriff, Low-Level-Funktionen) schneidet und an dieser Linie die Anwendung und die
DLL auseinander reisst.
Bei einem horizontalen Schnitt würde man nur ganz bestimmte Features in eine
DLL verpacken.
Das könnte z.B. eine Bibliothek zum Lösen von Gleichungssystemen sein oder zum Versenden von EMails über
SMTP.
Auf jeden Fall enthält die
DLL nur Code auf einer Abstraktionsebene (also NICHT User-Interface, Bussinesslogik und Datenzugriff zusammen).
Diese
DLL greift nicht selbst auf Ini-Datei, Datenbanken oder ähnliches zu, sondern bekommt Alles von "Aussen", also von der Anwendung, übergeben.
Hier ein Bild, wie sich Microsft den Aufbau einer Anwendung vorstellt:
http://www.codeproject.com/KB/cs/Ins...chitecture.png
Man darf nicht senkrecht schneiden und dann den abgeschnittenen Teil in eine
DLL auslagern!