[...]
Wie schon festgestellt wurde, gibt es aber durchaus die Anforderung nach einer einzigen globalen Instanz, die naturbedingt auch nur einmal pro Anwendung vorkommen kann (Application, Screen, etc.).
Nimmt man hier aber jetzt eine globale Variable, so kann diese Variable auch übereschrieben werden, ohne dass die abhängigen Teile darüber informiert werden.
[...]
Man kann theoretisch jeden Mist programmieren, man kann auch Konstanten überschreiben.
Aber wenn ein Entwickler auf die Idee kommt eine globale Variable wie Application zu überschreiben,
dann gehört er gehörig gesteinigt und daran ist nicht die globale Variable schuld.
Gerade Application sehe ich aber eher als gute globale Variable. Wie gesagt, wenn jemand anfängt
sowas zu überschreiben, dann ist nicht die Variable schuld.
Weil es ja auch ach so schwer ist statt
Delphi-Quellcode:
var
Application : TApplication;
einfach
Delphi-Quellcode:
function Application : TApplication;
implementation
var
_Application : TApplication;
function Application : TApplication;
begin
Result := _Application;
end;
zu schreiben. (Die Erzeugung von TApplication hab ich jetzt raus gelassen).
Das kann man aber auch wirklich keinem zumuten
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)