![]() |
Re: Konzeptfrage: Gleiche Codebasis, Kundenspezifische Anpas
Zitat:
Ganz allgemein nochmal an einem Beispiel:
Delphi-Quellcode:
So, die Implementierungen kannst Du beliebig wählen. TClass2 verwendet intern eine weitere Klasse (TStrings), wird eben auch irgendwann mal instanziiert (denk Dir das sauber mit Konstruktor und Destruktor). Natürlich kann jetzt TClass2 ohne Probleme eine beliebige Anzahl von Klassen verwenden, solange die nur intern benötigt werden.
type
TBaseClass = class(TObject) public procedure doFoo(); virtual; abstract; end; TClass1 = class(TBaseClass) public procedure doFoo(); override; end; TClass2 = class(TBaseClass) private s: TStrings; public procedure doFoo(); override; end; Eine Fabrik hätte dann noch die folgende Form (bzw. könnte die folgende Form haben):
Delphi-Quellcode:
Als class function hier definiert, damit Du keine Instanz benötigst, kannst einfach TBaseClassFactory.getNewInstance() schreiben. Intern wird dann eben einer der Nachfahren instanziiert und zurückgegeben (die Auswahl kann über alles mögliche geschehen, man könnte auch einen Parameter im Konstruktor übergeben!).
type
TBaseClassFactory = class(TObject) public class function getNewInstance(): TBaseClass; end; |
Re: Konzeptfrage: Gleiche Codebasis, Kundenspezifische Anpas
Hi,
ich glaub das habe ich kapiert. Ist ja echt toll was so alles geht. Gruß Andreas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz