Einzelnen Beitrag anzeigen

choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#13

Re: TypeInfo über IID oder Klasse (und RTTI)

  Alt 21. Jul 2005, 17:59
Hallo Hagen,

Zitat von negaH:
was soll das [dependency injection] sein ?
puh... Das haben andere Leute (auch unter dem Namen Bei Google suchenInversion of Control Container) viel besser erklärt, als ich das wohl hier könnte. Leider fehlt mir dazu im Augenblick die Zeit, das genauer vorzustellen, gehe aber davon aus, dass die inzwischen gut verwendbare Lösung "eines Tages" der Öffentlichkeit vorgestellt/zur Verfügung gestellt wird.

Zitat von negaH:
Normalerweise designe ich die Schnittstelle für die Plugins aus Sicht der Erfordernissen der Anwendung die diese Schnittstelle zur Verfügung stellen will, nicht umgekehrt.
Klingt vernüftig! Ich habe hier auf der anderen Seite ein System, in das ich -salop ausgedrück- "alles reinwerfe, was ich habe" und heraus kommt ein konfiguriertes System. Wenn ein Fenster eine Datenbankverbindung benötigt, macht es das durch entspr. Komponenten kenntlich, wie sonst. Benötigt eine ordinäre Klasse diese Verbindung, deklariert es das zB per Published Property, die nicht gespeichert wird, sollen nicht veränderbare Klassen verwendet werden, die Abhängigkeiten haben, gibt es spezielle Adapter, die das Ummanteln.
Ziehe ich jetzt -sprichwörtlich- "an der Schnur" ein beliebiges Objekt heraus, wird es mit der Datenbankverbindung verknüpft, die ihrerseits zunächst erzeugt wird (? kommt darauf an, wie der zuständige Adapter das macht), die dazu zB einen Logger benötigt, der seinerseits diverse Senken unterstüzt, die ihrerseits zB eine Internetverbindung benötigen, usw. und voilá das Fenster ist erzeugt.
Die "Injektion" besteht darin, dass keine dieser Klassen beschreibt, welche konkrete Klasse wann wo erzeugt wird, um das Problem zu lösen. Stattdessen tut sie das was sie soll: Exemplare des beschriebenen Typs verwenden und nicht erzeugen.

Die Tatsache, dass nun solche "Komponenten" aus Plugins erzeugt werden, ist eher... nettes Beiwerk (oder eben auch nicht).
Ich stelle das gerne zu einem späteren Zeitpunkt genauer vor. Solange bleibt mir zu sagen: Funktioniert prima

Zitat von negaH:
ich kann heut noch nicht verstehen warum sich echte Programmierer wie wir sich JAVA als Vorbild nehmen
Dann würde ich mich nicht als "echten Programmierer" bezeichnen (obwohl ich mir häufig lieber die Vorbilder von Java zum Vorbild nehme). Schließlich kommt die Zauber-Routine von oben ja auch von Dir und nicht von mir
gruß, choose
  Mit Zitat antworten Zitat