![]() |
AW: Ist das ein Pattern?
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:
Code:
dann komm ich auf diesen Code.
private $types;
public function getFruit { // Lazy initialization takes place here if (!self::$types) { return self::$types = new Fruit; } return self::$types; } Zitat:
|
AW: Ist das ein Pattern?
Zitat:
|
AW: Ist das ein Pattern?
In Delphi muß es nicht "class static" sein, es reicht schon "class", oder eine ordinäre Prozedur.
Wenn TIrgendeineKlasse die einzige vorhandene Instanz wäre, dann ist AndereKlasse implizit ebenfalls Alleine (ein Singleton). Und ich hab nie behauptet das währe schon ein Singleton. (noch'n bissl aufmotzen und fert'sch) Der Billigprogrammierer pappt diesen Code in seine TForm1, und schon hat er ein Singleton. (solange er nicht auf die Idee kommt TForm1 mehrmals zu erzeugen, aber ist dann meist nur ein Bug und keine Absicht :stupid: ) Halten wir es also fest: - es ist noch kein Singleton-Pattern (bissl erweitert wird es vielleicht mal Eines) - es ist noch kein Lazy-Pattern (bissl erweitert wird es vielleicht mal Eines) - es ist was Anderes Zitat:
|
AW: Ist das ein Pattern?
Noch mehr Senf:
Früher, als es noch kein OOP gab, hieß das "Fetch on Demand". |
AW: Ist das ein Pattern?
1. Ich bin nicht Popov. Aber das sei euch verziehen, Sir.
2. Danke für die Infos. Ich hab als ich die Frage stellte im Stillen bei mir gedacht, ob das in Richtung Singelton geht, wollte die Frage aber offen halten. Hab somit gelernt, das ein Singelton doch noch etwas mehr ist und den schönen Begriff Lazy Load/Creation/Initialisation neu gelernt, bzw. das Konzept dahinter. Dazu noch 'ne Frage: if fKlasse<>nil then... vs. if Assigned(fKlasse) then... Was ist genau da der Unterschied, ich vermute mal, das letzteres besser ist, wenn ich auch nicht weiß, warum? Danke, Jumpy |
AW: Ist das ein Pattern?
![]() |
AW: Ist das ein Pattern?
Zitat:
Zitat:
|
AW: Ist das ein Pattern?
OK, danke.
Sorry für das späte Antworten, musste noch schnell mein FIAE Abschlussarbeit, der Grund meiner Fragen in den letzten Wochen, fertig dokumentieren und zur IHK hochladen. Mal sehn was es wird, hauptsache erstmal fertig. |
AW: Ist das ein Pattern?
Dann drücken wir doch mal die Daumen :thumb:
|
AW: Ist das ein Pattern?
Wofür Assigned einen Vorteil bietet.
> Methodenzeiger Diese bestehen intern aus 2 Zeigern, also ist ein direktes Prüfen auf nil nicht möglich. Und wöllte man die internen Zeiger prüfen, dann müßte man sich den Methodenzeiger erstmal in einen lesbaren Typen casten, welcher Zugriff auf die beiden Felder bietet. > Datenzeiger (Objektinstanz) und Codezeiger (Zeiger auf die Methode/Prozedur) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz