Ich habe mal einen Blick auf den Sourcecode geworfen...
Relativ häufig ist Folgendes zu sehen:
Delphi-Quellcode:
case FLocationType of
icltINI:
...
icltXml:
...
icltRegistry:
...
else
...
end;
Diese Case-Anweisungen könnten durch das
Strategie Designpattern ersetzt werden.
Man benötigt dazu eine Basisklasse mit virtuellen Methoden und davon abgeleitet jeweils eine Klasse für die Ini-Datei,
XML, Registry.
Man bildet so eine Art Treibersystem, in dem man den physikalischen Zugriff auf die Daten (Inifile,
XML,...)
einfach austauschen kann.
Man könnte das später leicht erweitern und z.B. einen Treiber für verschlüsselte Inifiles schreiben.
Oder man speichert die Daten im Active Directory oder auf einem Webserver über HTTP.
Die Klasse TAccessManager erzeugt intern also ein Objekt der jeweiligen "Treiberklasse" und deligiert das Lesen und Schreiben von Daten an dieses Objekt.