public IRouteBuilder GetBuilder(RouteStratagy userPreference) { switch (userPreference) { case RouteStratagy.Shortest: return(new ShortestRouteBuilder()); case RouteStratagy.Fastest: return(new FastestRouteBuilder()); default: throw new NotSupportedException(); } }
IRoute CreateRoute(RouteStratagy userPreference, ILocation from, ILocation to) { var routeBuilder = GetBuilder(userPreference); return(routeBuilder.Build(from, to)); }
IRouteBuilder GetBuilder(RouteStratagy userPreference) { return(_routeBuilderFactory.GetBuilder(userPreference)); }
IRouteBuilder GetBuilder(RouteStratagy userPreference) { throw new NotImplementedException(); }