Schlechter Stil, falls man in Visitor-Klasse die besuchten Objekte modifiziert?



  • Hallo,

    ich entwerfe gerade die Schnittstelle um auf eine Baumstruktur zuzugreifen. Dafür bietet sich natürlich das Visitor-Pattern an. Derzeit gibt es nur Code der Daten ausliest, allerdings wird kurzfristig auch noch Code hinzukommen der mit an die Objekte Daten anhängen möchte. In Python könnte ich diese ja einfach im Visitor hinzufügen, aber ist das guter Stil? Und sollte man solche Zusatzdaten überhaupt direkt in das Objekt "einpatchen", oder bietet sich da ein Pattern wie das Decorator-Pattern eher an?

    Denkbar wäre auch einfach ein Hash als Attribut hinzuzufügen mit "visitor-id" => >>Visitor-Daten<<. Was meint ihr?



  • Ich denk um das beurteilen zu können, muss man das genau Problem besser kennen. Was für eine Struktur traversiert der Visitor denn? Was für Daten sollen da an was für Objekte angehängt werden und warum?



  • Finde ich ok. In den meisten APIs, die ich bis jetzt gesehen habe, waren die Parameter der Visitor::apply Methoden immer NICHT konstante Referenzen/Zeiger.



  • Ich wüsste auch nicht warum es schlechter Stil sein sollte.


Anmelden zum Antworten