Here is a link to my originalOriginal question:
Breadth First Search not SOLID enough
Here is my first attempt at refactoring. Instead of using a Tuple, I used a STRUCT and this made it more readable. I also extracted printing paths and finding paths into interfacesextracted printing paths and finding paths into interfaces so someone could print their own messages or implement there own path finding algorithm. The graph class has a corresponding interfacegraph class has a corresponding interface as well. I
I am still not sure if I need all the path finding methods, some. Some of them are just one liners-liners, so I wonder if they are necessary. I also want to pass a file name as an argsargs parameter into mainmain, but I am not sure how to get that to my CreateGraph method. Also, IGraph graph = new Graph().CreateGraph(); seems a bit weird. Is this normal? I am also curious if there is a way to better pass in messages to my PrintXXXPath... methods, so I don't have to have so many of them?
Any other refactorings are welcome?.