Thema: Delphi Visitor Pattern

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.186 Beiträge
 
Delphi 12 Athens
 
#3

AW: Visitor Pattern

  Alt 15. Jul 2010, 07:01
Delphi-Quellcode:
Visitor = class
public
  procedure Visit(a : A); overload;
  procedure Visit(b : B); overload;
end;
Wieso 2 verschiedene Methoden, wo sie doch genau das Selbe machen?

Delphi-Quellcode:
Visitor = class
public
  procedure Visit(b: Base);
end;

procedure Visitor.Visit(b: Base);
begin
  WriteLn(b.ClassName);
end;
Und schon muß Visitor und Base deine A und B nicht kennen und schon kannst du Visitor und Base in eine Unit packen und A, sowie B lassen sich in anderen Units unterbringen.

"x" kann als Basisklasse ja die beiden abgeleiteten Klassen/Objekte entgegennehmen.

Es muß sich also in der Hauptunit alles nur mit der Basisklasse erledigen lassen und das Klassenspezifische muß halt überschrieben und von den Subklassen erledigt werden.




Aber ansonsten hast du (wie Markus schon sagte) keine Chance und mußt alles in der selben Unit verpacken.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (15. Jul 2010 um 07:07 Uhr)
  Mit Zitat antworten Zitat