Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#1

Ist das ein Pattern?

  Alt 28. Mär 2012, 01:03
Hallo,

ich habe neulich in einem Programm das folgende Konzept entdeckt, durch das (nur bei Bedarf) eine Instanz einer anderen Klasse erzeugt wird, die dann innerhalb der erzeugenden Klasse überall verfügbar ist. Ist das ein Pattern und wenn ja, wie nennt man das. Und ist der Einsatz sinnvoll?

Delphi-Quellcode:
Type IrgendeineKlasse = class
  private
    fAndereKlasse:TAndereKlasse
    function getAndereKlasse:TAndereKlasse;
  public
    property AndereKlasse:TAndereKlasse read getAndereKlasse;
  end;
Im Implementaionsteil dann:

Delphi-Quellcode:
TIrgendeineKlasse.getAndereKlasse:TAndereKlasse;
begin
  if fAndereKlasse=nil then
    fAndereKlasse:=TAndereKlasse.Create;
  Result:=fAndereKlasse;
end;
Im Destruktor der Klasse wird die andere Klasse dann ggf. freigegeben mit:
Delphi-Quellcode:
if fAndereKlasse<>nil then
  fAndereKlasse.Free;
Die andere Klasse kann dann in der IrgendeineKlasse überall aufgerufen werden mit:
AndereKlasse.Machwas
Ralph
  Mit Zitat antworten Zitat