![]() |
AW: Pattern: Visitor
Zitat:
Zitat:
Ich will Dir an der Stelle nochmal für den Beitrag danken! Auch wenn ich einige Bedenken bezüglich Aufwand+Nutzen habe bin ich doch froh, das Prinzip nun endlich verstanden zu haben. :thumb: |
AW: Pattern: Visitor
Zitat:
Zitat:
|
AW: Pattern: Visitor
Wer des Englischen mächtig ist, kann sich ja weitere Informationen in meiner 4-teiligen
![]() |
AW: Pattern: Visitor
Zitat:
Und viel ansehnlichere Beispiele als ich. |
AW: Pattern: Visitor
Der Vorteil ist natürlich, dass ich beim Visitor Polymorphie nutzen kann, aber so wirklich gefällt mir das Pattern nicht.
|
AW: Pattern: Visitor
Zitat:
|
AW: Pattern: Visitor
Zitat:
Das Ganze kannste auch noch ein wenig eleganter lösen, da in TuWasBesonderes immer das Gleiche gemacht wird:
Delphi-Quellcode:
// Unit A
type IVisitor = interface procedure Visit(const x: TClass1); overload; procedure Visit(const x: TClass2); overload; end; TVisitableBase = class procedure AcceptVisitor(const v: IVisitor); end; TClass1 = class(TVisitableBase) // viele Methoden... end; TClass2 = class(TVisitableBase) // viele Methoden... end; procedure TVisitableBase.AcceptVisitor(const v: IVisitor); begin v.Visit(self); end; |
AW: Pattern: Visitor
Wirklich? Ein volles Zitat? :o
|
AW: Pattern: Visitor
Zitat:
|
AW: Pattern: Visitor
Zitat:
Aber dann macht es für mich keinen Sinn, Klassen ohne gemeinsame Basis mit diesem Pattern zu versehen. So bald in mehr als einer Klasse zwei Properties od. Methoden od. od. gleich heißen, sollte man meiner Meinung nach darüber nachdenken, ob sie nicht einen gemeinsamen Vorfahren bekommen sollten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz