Aloah...
ich habe mich in letzter Zeit ein wenig mit den verschiedenen Software Pattern beschäftigt. Unter anderem auch mit dem Factory Pattern. Im Internet habe ich hierzu mehrere Beispiele und Erklärungen gefunden. Anhand dieser Beispiele unter Erklärungen habe ich versucht ein eigenes Beispiel zu programmieren.
Mich würde nun Interessieren ob in meinem Beispiel das Factory Pattern korrekt umgesetzt ist (oder auch nicht) und ob Verbesserungen vorgenommen werden müssten.
Nach meinem Verständnis geht es beim Factory Pattern ja darum, dass der Client (in meinem Fall soll dies die Klasse
TAppStore sein) keine Ahnung von dem Konkreten Produkt (
TSoftwareApp und deren Ableitungen) hat mit dem er arbeiten soll. Das Konkrete Produkt bekommt er ja über eine Subklasse (in meinem Fall die Klassen
TOfficeApps /
TAppleApps) erstellt/mitgeteilt, die für Ihn das konkrete Produkt erstellt.
Die Klassenstruktur habe ich als Anhang diesem Post hinzugefügt.
Anbei noch eine beispielhafte implementierung:
Delphi-Quellcode:
procedure TfrmPattern.DoFactoryPattern;
var
SL : TStringList;
Store : TAppStore;
begin
SL := TStringList.Create;
try
Store := TAppStore.Create(astMicrosoft);
try
try
Store.BuySoftwareApp(atText, SL);
except
on E:
Exception do
MessageDlg(E.
Message, mtError, [mbOk], 0);
end;
try
Store.BuySoftwareApp(atPresentation, SL);
except
on E:
Exception do
MessageDlg(E.
Message, mtError, [mbOk], 0);
end;
finally
Store.Free;
end;
ShowMessage(SL.Text);
finally
SL.Free;
end;
end;
Wie bereits erwähnt würde micht Eure Meinung zur Art und Weise meiner Umsetzung interessieren...