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.