Visitor modello intento:
costituiscono un'operazione da eseguire sugli elementi di una struttura oggetto. Visitor consente di definire una nuova operazione senza modificare le classi degli elementi su cui opera.
modello Uso Visitor se:
- operazioni simili devono essere effettuate su oggetti di diverse tipologie raggruppate in una struttura
- è necessario eseguire molte operazioni distinte e indipendenti .Si separa Utilizzo di oggetti Struttura
- Nuove operazioni devono essere aggiunti senza cambiamento nella struttura degli oggetti
- Raccogliere le operazioni correlate in una singola classe piuttosto che la forza di cambiare o derivare classi
- Aggiungere funzioni di librerie di classi per il quale si o non si ha il sorgente o non può cambiare la fonte
Anche se Visitor pat tern fornisce la flessibilità per aggiungere nuove operazioni senza modificare il codice esistente in Object, questa flessibilità ha un difetto.
Se è stato aggiunto un nuovo oggetto Visitable, è necessario modificare il codice nelle classi ConcreteVisitor del visitatore &. Esiste una soluzione alternativa per risolvere questo problema: Utilizzare la riflessione, che avrà un impatto sulle prestazioni. per maggiori dettagli
Fare riferimento alla oodesign article e sourcemaking articoli
modello di strategia intento:
Definire una famiglia di algoritmi, incapsulare ciascuno, e renderli intercambiabili. La strategia consente all'algoritmo di variare in modo indipendente dai client che lo utilizzano.
La strategia consente di modificare il coraggio di un oggetto.
riferisca a sotto domande SE per maggiori dettagli:
Real World Example of the Strategy Pattern
fonte
2016-06-03 10:16:54
Questo è un buon modo per mettere in relazione i diversi modelli: http://www.cours.polymtl.ca/inf3700/divers/nonSoftwareExample/patexamples.html –
Nice link @ jco.owens!Il collegamento –
è interrotto ora .. puoi aggiornare @ jco.owens? – Joe