Some thoughts about how to visit nodes of a graph:
by Adrien Hamelin
From the article:
Visiting a graph is something useful. [...] A classical way to do that is to implement the visitor pattern. [...] it requires to create a Visitor class and to modify each of the possibly visited class to add a virtual accept function. [...] It works well, but surely we can do better...