Code requirements - PatrikValkovic/pathvis GitHub Wiki
Design patterns
- Polymorphism - Algorithm>>run is polymorphic method which implementation is dependant on subclass
- Observer - Algorithm class uses observer pattern to notify it's assigned renderer
- Lazy initialization - GridWorkspace instance variable nodes is lazy initialized
- GTInspector extension - ObstacleArray and MazeArray have an extension that enables you to view the array in 2D morph form.