Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: DLLs in komplexen Programm

  Alt 14. Dez 2010, 10:49
Es ist doch völlig Wurst, auf welche DB die DLLs zugreifen (ok, da wo die zugreifen sollen, muss die Struktur da sein).

Aber grundsätzlich stellt mir die DLL einen Funktionstopf zur Verfügung und eine starre Anbindung an die Datenbank X ist ja nicht so schön.

Die Hauptanwendung weiß, wo die DB (Server, Zugangsdaten, Schema) zu finden ist.
In der HA gibt es einen Plugin-Verwalter (eigene Unit), der die vorhandenen Plugins (die DLLs) lädt und initialisiert (Zugangsdaten zur DB). Jetzt kann die HA auf die Funktionen der Plugins zugreifen.

Die Kommunikation unter den Plugins sollte aber über den Plugin-Verwalter gehen (z.B. via CallBack)
denn die Hauptaufgabe bei dem besteht darin, alle vorhandenen Plugins zu kennen und zu verwalten.
Der kann dann auch Plugin A mitteilen, dass es Plugin B gibt und per CallBack zu erreichen ist.

Dadurch erspart man sich die umständliche Verknüpfung der einzelnen Plugins (hier ja DLLs) untereinander, denn das Wesen von Plugins ist ja, dass diese optional und somit nicht vorhanden sein müssen.

Ach ja, wenn es nur eine DB gibt, dann bräuchten die DLLs eigentlich auch keine Informationen zur DB, denn der Zugriff auf selbige könnte ja auch über den Plugin-Manager laufen (siehe Skizze von s.h.a.r.k.)

Wie man schon sieht ist es gerade bei einem solchen Plugin-System exorbitant wichtig viel Zeit in die Planung zu stecken.
Welches Plugin soll welche Funktionen ausführen und welche Informationen werden dafür benötigt.
Wenn das fertig ist, dann kann man entscheiden auf welchem Weg man diese Informationen bekommt (holt das Plugin die Informationen direkt, über einen Callback oder werden diese schon beim Aufruf mitgeliefert)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat