Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#11

AW: Ist das ein Pattern?

  Alt 28. Mär 2012, 08:50
Und was macht die öffentliche Funktion oftmals, bei den meisten Singletonpattern?
Die aggregiert einverleibt sich eine Klasseninstanz.

Wenn ich mir jetzt das auf'm Wiki nehm,
Zitat von http://en.wikipedia.org/wiki/Lazy_initialization:
Code:
    private static $types = array();
 
    public static function getFruit($type) {
        // Lazy initialization takes place here
        if (!array_key_exists($type, self::$types)) {
            return self::$types[$type] = new Fruit($type);
        }
 
        return self::$types[$type];
    }
das Array und Static wegmach,
Code:
    private $types;
 
    public function getFruit {
        // Lazy initialization takes place here
        if (!self::$types) {
            return self::$types = new Fruit;
        }
 
        return self::$types;
    }
dann komm ich auf diesen Code.
Delphi-Quellcode:
private fAndereKlasse:TAndereKlasse

TIrgendeineKlasse.getAndereKlasse:TAndereKlasse;
begin
  if fAndereKlasse=nil then
    fAndereKlasse:=TAndereKlasse.Create;
  Result:=fAndereKlasse;
end;
Sehr eigenartig.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (28. Mär 2012 um 08:52 Uhr)
  Mit Zitat antworten Zitat