Immaginiamo di avere una collezione di nodi che uso per la mia classe Renderer in seguito. Poi ho una classe Visitor che può visitare il nodo o l'intera collezione. È semplice perché la mia collezione di nodi è semplicemente un wrapper di std :: list con alcuni metodi extra.Iterazione gerarchia dei nodi - Visitatore e Composito?
Il problema è che mi piacerebbe avere una struttura ad albero per i nodi (invece di una semplice lista) in modo che un nodo possa avere un genitore e n figli. Sarebbe utile dato che mi piacerebbe poter passare al mio Renderer un nodo e rendere tutto "sotto" quel nodo. La risposta è probabilmente composita.
Come utilizzare insieme Visitatore e Composito? Ho letto che è spesso una buona combinazione, ma le mie implementazioni sono piuttosto negative ... Mi manca Sth.
Perché stai invocando 'accept's of node child in' NodeVisitor'? – user35443
@ user35443: Perché altrimenti le visite si interrompono e poiché l'OP chiede come combinare Visitor con Composite che deve includere la visita di tutti i nodi nel Composito, altrimenti sarebbe solo Visitor. Informazioni sul visitatore: http://en.wikipedia.org/wiki/Visitor_pattern. Informazioni sul composito: http://en.wikipedia.org/wiki/Composite_pattern –
Sì, ma voglio dire che ho guardato al livello gerarchico per un po ', e dovunque guardassi ho trovato l'iterazione dei membri compositi nei nodi, non Visitatore. – user35443