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.