Thema: Delphi Registrieren von Klassen

Einzelnen Beitrag anzeigen

choose

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

Re: Registrieren von Klassen

  Alt 11. Nov 2004, 08:55
Hallo barnti,

klingt nach einem interessanten Vorhaben, dass ich in Delphi (außerhalb der VCL) in veröffentlichten Projekten mit Quelltext bisher nur bei Bei Google suchenLog4D sehen konnte.
Generell habe ich zur Lösung ähnlicher Probleme häufig diesen Ansatz gesehen:
  1. Registratur aller Klassen im Initialization-Abschnitt der jeweiligen Unit. Es ist nicht erforderlich, das in einer zentralen Unit zu tun, sondern jede Unit kann die zu registrierenden Klassen in ihrer Implementierungsunit registrieren.
  2. Laden der Konfiguration (dem Mapping), die im Wesentlichen einen Schlüssel (hier: Dein Tabellenname) auf eine Klasse abbildet (hier: ein Klassenname). Ist sie geladen, sind Ausdrücke der Art denkbar
    myClassName := Configuration.GetClassNameFromKey(myTableName); Dieser Schritt könnte zB in Deinem Hauptformular geschehen und es spricht nichts dageben, unterschiedliche Konfigurationen für unterschiedliche Formualare, Abläufe oä vorzuhalten.
  3. Erzeugung der Benötigten Klasse mithilfe der Registratur in der Art
    Delphi-Quellcode:
    with Registration do
      myClass := GetClassFromName(Configuration.GetClassNameFromKey(myTableName);
    myObject := myClass.Create(myContext);

Vielleicht solltest Du Dir noch einmal das Bei Google suchenEntwurfsmuster abstrakte Fabrik (Bei Google suchenabstract factory pattern) ansehen, und in Erwägung ziehen, eine Menge von Fabriken zu konfigurieren, was den Ansatz wesentlich flexibler macht...
gruß, choose
  Mit Zitat antworten Zitat