Einzelnen Beitrag anzeigen

Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#17

Re: Wo gebt ihr Objekte frei?

  Alt 12. Dez 2007, 09:43
Alle drei Varianten sidn ok und von Fall zu Fall auch sinnig.

Meistens benutze ich Fall 3, manchmal Fall 2 und eher selten Fall 1.


Zu Fall 1 noch eine Anmerkung.
Ich finde, wenn man diese Variante benutzt sollte die Klasse, die das Objekt in
seiner Methode zurückgibt auch eine Methode besitzen, um diese Objekt frezugeben.


Delphi-Quellcode:

function TEineKlasse.ErzeugeEinObject(): TEineAndereKlasse;
begin
 ...
end

procedure TEineKlasse.GibObjectWiederFrei();
begin
 ...
end;

Wenn man ein Objekt erhält, daß nur einmal existieren darf, sorgt die Methode
"GibObjectWiederFrei" dafür, daß genau dieses Objekt freigegeben wird.

Hat man den Fall, daß diese Klasse immer wieder neue Objekte erzeugen kann,
dann sollte die Klasse selbst eine Referenz zu jedem erzeugten Object in einer Liste halten und
beim Aufruf von "GibObjectWiederFrei" könnte man dann entweder den Index des
Objektes übergeben oder das Objekt selbst...

Ich finde alle Varianten sind Geschmackssache und jedes hat seine Lebensberechtigung.

Im normalen Programmieralltag wird man aber bevorzugt Variante 3, seltener Variante 2 und ganz selten Variante 1 benutzen. Ich und meine Kollegen machen das zumindest so.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat