public void Handle(IList <GpsData> gpsData, IRouteStrategy routeStrategy)
        {
            IList <PointLatLng> points = GetRoutePoints(gpsData);
            var routes = routeStrategy.GetRouteOverlay(points);

            GetMarkersDistance = routeStrategy.TravelDistance;
            _gmap.Overlays.Add(routes);

            _gmap.Zoom++;
            _gmap.Zoom--;
        }
Exemple #2
0
        }                                            // Стратегию можно менять на лету. Одна из ключевых особенностей паттерна! (Можно вынести в отдельный метод)

        public GPS(IRouteStrategy strategy) => Strategy = strategy;
Exemple #3
0
 public Routeplaner(IRouteStrategy strategy)
 {
     Strategy = strategy;
 }
Exemple #4
0
 public Client(IRouteStrategy routeStrategy)
 {
     this.routeStrategy = routeStrategy;
 }
 public void SetRouteStrategy(IRouteStrategy routeStrategy)
 {
     routeContext = new RouteContext(routeStrategy);
 }
 public void SetStrategy(IRouteStrategy routeStrategy)
 {
     this.RouteStrategy = routeStrategy;
 }
 public RouteContext(IRouteStrategy routeStrategy)
 {
     this.RouteStrategy = routeStrategy;
 }
Exemple #8
0
 public Navigator(IRouteStrategy strategy)
 {
     RouteStrategy = strategy;
 }
Exemple #9
0
 public void SetStrategy(IRouteStrategy strategy)
 {
     _strategy = strategy;
 }
 public void Execute(IRouteStrategy strategy, Action <IRouteStrategy> createRoute)
 {
     createRoute.Invoke(strategy);
 }