Einzelnen Beitrag anzeigen

Dax
(Gast)

n/a Beiträge
 
#2

Re: Objekt mehrfach speichern: Hilfe für OO-Konzept, Pattern

  Alt 6. Feb 2008, 21:58
Im Prinzip ist es ganz einfach Die Idee mit der Engineliste ist schon ok. Deine Engines lässt du nun jeweils ein Interface implementieren:
Delphi-Quellcode:
type
  IStorageEngine = interface
    procedure InitCustomer;

    procedure StoreInteger(i: Integer);
    procedure StoreString(s: string);

    function LoadInteger: Integer;
    function LoadString: string;

    // etc
  end;
Zustzlich verpasst du deiner Klasse jeweils eine Methode Store(IStorageEngine) und Load(IStorageEngine), die nichts weiter tun, als InitCustomer aufzurufen - um der Engine zu sagen, dass jetzt Zeugs für die Customer-Klasse ankommt - und dann alle Felder der Klasse in die IStorageEngine zu werfen oder sie wieder von dort zu laden. Damit sind die Engines generisch und du kannst sie für *jede* Klasse verwenden, die Logik zum speichern/laden ist an der selben Stelle wie die Felder und wenn du eine neue Storage Engine brauchst, bastelst du dir einfach eine schnieke Klasse und verpasst ihr das Interface.
  Mit Zitat antworten Zitat