Ich hätte für eine Konfigurationsklasse gern die Möglichkeit, eine sagen wir mal initiale global verfügbare Instanz anzulegen als auch eine (temporäre) lokale. Meine bisherige Umsetzung:
Delphi-Quellcode:
type
TMyConfig = class
strict private
class var FInstance: TMyConfig;
class function GetInstance: TMyConfig; static;
class destructor ClassDestroy;
private
FFeld: integer;
public
property Feld: integer read FFeld write FFeld;
class property Instance: TMyConfig read GetInstance;
end;
...
class function TMyConfig.GetInstance: TMyConfig;
begin
if not Assigned(FInstance) then
FInstance := TMyConfig.Create;
Result := FInstance;
end;
class destructor TMyConfig.ClassDestroy;
begin
FInstance.Free;
end;
Meine Frage: ist das ein gangbarer Weg, oder baue ich mir hier ein Anti-Pattern, das mir früher oder später um die Ohren fliegt?
Danke fürs Lesen