ho un sistema composite , un grafo di oggetti.
Vorrei creare deli oggetti chiamiamoli manipolatori , dei visitor che modificano determinati valori di una certa entità.
Tutti gli oggetti nel mio composite derivano da un baseNode ec....questolo sapeete meglio di me.
ai nodi sono agganciati degli oggetti che derivano da una classe BaseEntity ad esempio aste ,colonne , solai , shell ecc...
io vorrei creare visitor manipolatori e di lettura , agganciarli ad un nodo , non importa quale ed eseguire un azione su tutti i figli di quel nodo.
Nella classe baseNode il visitor verrà accettato da tutti i suoi figli , ciclicamente.
I problemi:
1)come eseguire un azione su una classe specifica derivata da BaseEntity ad es solo su aste o solai?possibilmente senza utilizzare rtti o roba del genere, devo usare il double dispatch o si fa senza.
2)Come creare delle espressioni generiche di selezione ad es per selezionare tutte le aste maggiori di 20m e riutilizzare la stessa espressione con parametri differenti?
Una specie di stored procedure(come dei db)ma vedendolo come una pattern command , in modo da creare macro e avere un undo?
per adesso sono queste le domande, scusate se c'è della confusione ma altrimenti non scriverei il post.
grazie.