Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Konzeptfrage: Gleiche Codebasis, Kundenspezifische Anpassung (https://www.delphipraxis.net/103750-konzeptfrage-gleiche-codebasis-kundenspezifische-anpassung.html)

Der_Unwissende 22. Nov 2007 13:02

Re: Konzeptfrage: Gleiche Codebasis, Kundenspezifische Anpas
 
Zitat:

Zitat von Andreas H.
Wie funktioniert das Ganze, wenn eine Klasse eine weitere Klasse instanziert und beide sind kundenspezifisch?
Dann muss die Factory in jedem Konstruktor realisiert sein?

Äh, die Frage verstehe ich noch nicht ganz. Wo genau wird denn die andere instanziierte Klasse verwendet? Die Factory wird übrigens keineswegs in einem Konstruktor realisiert!

Ganz allgemein nochmal an einem Beispiel:
Delphi-Quellcode:
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;
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.
Eine Fabrik hätte dann noch die folgende Form (bzw. könnte die folgende Form haben):

Delphi-Quellcode:
type
  TBaseClassFactory = class(TObject)
    public
      class function getNewInstance(): TBaseClass;
  end;
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!).

Andreas H. 23. Nov 2007 18:42

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 00:22 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz