Einzelnen Beitrag anzeigen

Sascha L

Registriert seit: 4. Jun 2004
Ort: Hamm
390 Beiträge
 
Delphi 2006 Professional
 
#1

Klasse die benötigte Klasse erstellt

  Alt 31. Aug 2006, 10:27
Hallo,

der Titel passt nicht unbedingt, aber ich wusste nicht, wie ich es anders in Kurzform ausdrücken sollte.

Ich habe eine Hauptklasse "TParser":

Delphi-Quellcode:
TParser = class(TPersistent)
    private
      fFeedItem : TFeedItem;
      fFeed: TFeed;
      fFeedType: TFeedType;
      fXMLDoc: IXMLDocument;
      procedure GetFeedType;
    public
      constructor Create(XMLDoc: TStream); virtual;
      property FeedType: TFeedType read fFeedType write fFeedType;
  end;
Das ist nur ein kleiner Teil und die Klasse ist mehr oder weniger noch ohne Funktion.

Von dieser leite ich dann ab und habe z.B. dann die Klassen TRSSParser, TAtomParser, TRDFParser, usw.

In den Unterklassen werden dann später die entsprechenden abstrakten Prozeduren überschrieben und mit Inhalt gefüllt, sodass ich die entsprechenden XML-Dateien auslesen kann.

Nun zum eigentlichen Problem: Wenn die ganzen Klassen später fertig sind, soll es so einfach wie nur möglich sein, einen Feed zu parsen. Wenn ich das nun so alles lasse, müsste man im Hauptprogramm z.B. beim Öffnen einer XML-Datei immer erst überprüfen, um was für einen Feed-Typ es sich handelt und demendsprechend dann TRSSParser.Create, TAtomParser.Create, etc. machen.

Am besten wäre es ja, wenn man einfach nur TIrgendwas.Create machen würde und dann die entsprechende Klasse erstellt wird.

Gibt es dafür irgendeine "coole" Lösung? Die einzige, nicht so schöne, die mir einfällt wäre eine Funktion, der ich die XML-Datei übermittel, die dann halt überprüft, um was es sich handelt und dann die entsprechende Klasse erstellt und zurückliefert.

Gruß
Sascha
Sascha
  Mit Zitat antworten Zitat