Zitat:
Für die funktion des Patterns ist es ziemlich irrelevant, ob es nun als statische Methode in der Basisklasse oder in einer eigenen Klasse implementiert ist. Ich würde wahrscheinlich Letzteres wählen, da ich die Benutzung der abgeleiteten Klassen in ihrer Basisklasse etwas unschön fände.
D.h., die Implementierung wie im WebRequest ist genau genommen auch das Factory-Pattern?
Wie ich schon sagte, im Normalfall fände ich die Benutzung der abgeleiteten Klasse auch unschön, aber in diesem Fall handelt es sich in meinen Augen um reine Implementierungsdetails, die dem Benutzer egal sein können. Wobei Sascha L ja ohnehin eine interessante Variante gefunden hat.
Zitat von
Jelly:
Das mag auf den ersten Blick einfach erscheinen, aber Du hast jetzt immer 2 Stellen an denen Du pflegen musst, wenn mal ein neuer XMLParser hinzukommt. Dann musst Du nämlich nicht nur die neue Klasse implementieren, sondern auch die AddFeed Methode aus deiner TFeedParser Klasse.
Hmm, muss man beim Metaklassen-Prinzip nicht die ID der Klasse kennen? Sprich, man müsste auch zwei Stellen pflegen? Das mit den Metaklassen ist doch vom Prinzip her ähnlich wie
COM-Instanziierung, oder sehe ich das falsch?