Java Visitor Pattern ist ein Verhaltensentwurfsmuster, das die Trennung von Algorithmen von den Objekten ermöglicht, mit denen sie arbeiten. Dieses Muster definiert ein Besucherobjekt, das auf verschiedene Objekttypen zugreifen und einige Vorgänge ausführen kann, Ihnen aber auch das Hinzufügen neuer ermöglicht Operationen ohne Änderung des vorhandenen Codes.
Im Besuchermuster gibt es zwei wichtige Rollen: Besucher und Elemente sind Komponenten einer Objektstruktur. Ein Besucher ist ein Objekt, das eine auszuführende Operation darstellt über seine Akzeptanzmethode.
Das Java-Besuchermuster umfasst normalerweise die folgenden 5 Rollen:
Abstrakter Besucher (Besucher): Definition Eine Zugriffsmethode, die auf jedes Element zugreifen kann.
Konkreter Besucher: Implementiert die definierte Zugriffsmethode durch den abstrakten Besucher, einschließlich spezifischer Operationen für verschiedene Elemente.
Abstraktes Element (Element): Definiert eine Methode zum Akzeptieren des Besucherobjekts, damit der Besucher auf sich selbst zugreifen kann.
Betonelement: Implementiert die durch das abstrakte Element definierte Akzeptormethode, damit der Besucher auf sich selbst zugreifen kann
Objektstruktur: Eine Sammlung mit Elementen, die einen Iterator zum Durchlaufen der Elemente bereitstellen und Zugriff von Besuchern akzeptieren kann
Im Zoo gibt es verschiedene Tierarten, darunter Hunde, Katzen und Vögel. Der Besuchermodus kann verwendet werden, um die Anzahl der verschiedenen Tierarten sowie die Attributinformationen der verschiedenen Tierarten zu zählen Abstrakte Elemente Schnittstelle und verfügen über eine Akzeptanzmethode, die den Besuchertypparameter übergibt.
Als nächstes wird die Besucherschnittstelle definiert, die die Besuchermethode enthält, die entsprechend den verschiedenen übergebenen Tierarten zugreift.
In der spezifischen Implementierung von Besucher, zwei Besucher, AnimalCountVisitor und AnimalFeatureVisitor, werden zum Zählen der Anzahl verschiedener Tierarten verwendet, und letzteres wird zum Drucken der Attribute verschiedener Tierarten verwendet
Trennung von Algorithmen und Objekten: Das Besuchermuster ermöglicht die Trennung von Algorithmen und Objekten, da der Algorithmus im Besucher definiert ist und das Objekt dem Besucher beim Zugriff seine eigenen Daten offenlegt. Gute Skalierbarkeit: Dieses Muster kann problemlos neue Vorgänge hinzufügen, ohne die vorhandene Objektstruktur zu beeinträchtigen, da der Zugriff auf das Besuchermuster die Objektstruktur von den Vorgängen trennt.Entspricht dem Offen-Geschlossen-Prinzip: Das Besuchermuster entspricht dem Offen-Geschlossen-Prinzip, da Sie neue hinzufügen können Besucher und neue Elementtypen, ohne vorhandenen Code zu ändern.
Codelogik vereinfachen: Das Besuchermuster trennt Objekte und Vorgänge und vereinfacht so die Codelogik.
Das obige ist der detaillierte Inhalt vonWie man das Java-Besuchermuster verwendet, um Objektstrukturen auf schöne Weise zu handhaben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!