Folgende zwei Codefragmente sind äquivalent:
Delphi-Quellcode:
type
Global = class
private
class var FUserID : Integer;
class var FUserRoleID : Integer;
class var FUsername : string;
class procedure SetUserID( const Value : Integer );
class procedure SetUsername( const Value : string ); static;
class procedure SetUserRoleID( const Value : Integer ); static;
public
class property UserID : Integer read FUserID write SetUserID;
class property UserRoleID : Integer read FUserRoleID write SetUserRoleID;
class property Username : string read FUsername write SetUsername;
end;
Das ist im Prinzip nix anderes wie 3 globale Variablen
Delphi-Quellcode:
var
UserID : Integer;
UserRoleID : Integer;
Username : string;
Ob man jetzt noch ein Interface darüberlegt oder den Username automatisch mit der UserID setzt ändert nichts daran dass hier ein "Sack voller globaler Variablen" vorliegt.
Ich habe dazu ein
Tutorial geschrieben das für den Einen oder Anderen interessant sein könnte.