Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Lemmy,
5. Sep 2015
OK, Factories war für mich bisher ein Inbegriff von "Bau mir eine Instanz einer Klasse"
wollte ich so nicht schreiben weil ich mir nicht sicher war, habe aber auch eher einen DI-Container dahinter vermutet... Scheint also doch noch nicht alles verloren zu sein bei mir :-)
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Lemmy,
4. Sep 2015
nochmals Danke...
aber dann sprechen wir doch streng genommen nicht mehr von einer Factory?!? denn sie verwaltet doch letztlich nur Instanzen die ich nach bestimmten Kriterien abfragen kann....
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Lemmy,
4. Sep 2015
nein, da fehlt bei mir noch ein Baustein:
Wo bekommt denn die Methode GetFillData() dann die Implementierung für ein Interface her? Irgend wo in GetFillData() muss doch dann ein TConcrete.Create() erfolgen...?
Grüße
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Lemmy,
4. Sep 2015
aaahh... das ist natürlich richtig... OK, dann werde ich das umbauen.
Danke euch beiden... wenn ich wieder stolpere, dann schrei ich nochmal laut :-)
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Lemmy,
4. Sep 2015
sind sie leider nicht. Also pro Formular schon, nur möchte ich in einer Factory eben die komplette Bandbreite an Formularen erschlagen, so kann es anstelle eines Bestellformulars halt auch mal (um extrem zu werden) ein Antrag auf Harz IV sein ;-)
hmmm.. warum einen String für die Unterscheidung verwenden? Eine Elternklasse von der konkrete Implementierungen abgeleitet sind erscheinen mir...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Lemmy,
4. Sep 2015
Hallo zusammen,
sorry für das lange Posting.... Und gleich der Hinweis: Ich stecke noch in Delphi 7 fest - ich denke mit Generics wäre das einfach zu lösen..
ich versuch eine AbstractFactory zu implementieren, scheitere jedoch an den Details...
Ausgangslage:
Ich habe div. unterschiedliche PDF-Formulare zu füllen, als Beispiel: