BEHAVIORAL
Visitor
Rappresentare un'operazione da eseguire sugli elementi di una struttura di oggetti. Visitor permette di definire una nuova operazione senza cambiare le classi degli elementi su cui opera.
Esempi di Codice
Visitor per Export System
Export di documenti in formati diversi (JSON, XML) senza modificare classi Document.
JAVASCRIPT
Loading...
Esempi nel Mondo Reale
Compilers (AST traversal)
Document export (PDF, HTML, XML)
Tax calculation systems
Report generation
Serialization frameworks
Quando Usarlo
Quando vuoi aggiungere operazioni senza modificare le classi
Quando hai struttura di oggetti stabile ma operazioni che cambiano
Quando operazioni non correlate devono essere separate
Quando serve accesso a stato interno degli elementi
Quando NON Usarlo
Quando gerarchia di classi cambia spesso
Quando le operazioni sono semplici
Quando viola incapsulamento troppo
Pattern Correlati