static void Main() { // The client code picks a concrete strategy and passes it to the context. // The client should be aware of the differences between strategies in order to make the right choice. Context context = new Context(); object data = new object(); context.SetData(data); // Select strategy int strategyNumber = new Random().Next(1, 3); switch (strategyNumber) { case 1: context.SetStrategy(new ConcreteStrategy1()); break; case 2: default: context.SetStrategy(new ConcreteStrategy2()); break; } // Execute strategy context.ExecuteStrategy(); }
static void Main(string[] args) { var context = new Context(); // use strategyA to do something context.SetStrategy(new StrategyA()); context.DoSomethingWithStrategy(); // use strategyB to do something; context.SetStrategy(new StrategyB()); context.DoSomethingWithStrategy(); }
static void Main(string[] args) { Context cntx = new Context(); cntx.SetStrategy(new AdditionStrategy()); Console.WriteLine(cntx.calculate(10, 5)); cntx.SetStrategy(new SubtractionStrategy()); Console.WriteLine(cntx.calculate(10, 5)); Console.ReadKey(); }
static void Main(string[] args) { var context = new Context(); Console.WriteLine("Client: Strategy is set to normal sorting."); context.SetStrategy(new ConcreteStrategyA()); context.DoBusinessLogic(); Console.WriteLine(); Console.WriteLine("Client: Strategy is set to reverse sorting."); context.SetStrategy(new ConcreteStrategyB()); context.DoBusinessLogic(); }
static void Main(string[] args) { Context context = new Context(); Console.WriteLine("Client: Strategy is set to normal sorting."); context.SetStrategy(new ConcreteStrategy()); context.DoSomeBusinessLogic(); Console.WriteLine(); Console.WriteLine("Client: Strategy is set to reverse sorting."); context.SetStrategy(new ConcreteStrategyRight()); context.DoSomeBusinessLogic(); Console.Read(); }
public static void Main() { Context context = new Context(new ConcreteStrategy1()); context.ExecuteOperation(); context.SetStrategy(new ConcreteStrategy2()); context.ExecuteOperation(); }
static void Main(string[] args) { // Клиентский код выбирает конкретную стратегию и передаёт её в // контекст. Клиент должен знать о различиях между стратегиями, // чтобы сделать правильный выбор. var context = new Context(); Console.WriteLine("Client: Strategy is set to normal sorting."); context.SetStrategy(new ConcreteStrategyA()); context.DoSomeBusinessLogic(); Console.WriteLine(); Console.WriteLine("Client: Strategy is set to reverse sorting."); context.SetStrategy(new ConcreteStrategyB()); context.DoSomeBusinessLogic(); }
static void Main(string[] args) { //Instancia o Context var context = new Context(); Console.WriteLine("Client: Strategy is set to normal sorting,"); //Aplica a estratégia context.SetStrategy(new ConcreteStrategyA()); //Corre a estragégia e retorna o resultado context.Operation(); Console.WriteLine(); Console.WriteLine("Client: Change strategy for reverse"); context.SetStrategy(new ConcreteStrategyB()); context.Operation(); Console.ReadLine(); }
static void Main(string[] args) { // The client code picks a concrete strategy and passes it to the // context. The client should be aware of the differences between // strategies in order to make the right choice. var context = new Context(); Console.WriteLine("Client: Strategy is set to normal sorting."); context.SetStrategy(new ConcreteStrategyA()); context.DoSomeBusinessLogic(); Console.WriteLine(); Console.WriteLine("Client: Strategy is set to reverse sorting."); context.SetStrategy(new ConcreteStrategyB()); context.DoSomeBusinessLogic(); }
public static void Main() { Context context = new Context(new ConcreteStrategy1()); context.ExecuteOperation(); context.SetStrategy(new ConcreteStrategy2()); context.ExecuteOperation(); Console.ReadKey(); }
static void Main(string[] args) { Context context = new Context(new ConcreteStrategy1()); context.ExecuteOperation(); context.SetStrategy(new ConcreteStrategy2()); context.ExecuteOperation(); Console.ReadLine(); }
static void Main() { var context = new Context(new ConcreteStrategyA()); context.Execute(); context.SetStrategy(new ConcreteStrategyB()); context.Execute(); Console.ReadKey(); }
public static void Main() { SetTitle(); Write("Welcome"); var strat1 = new StrategyA(); var strat2 = new StrategyB(); var context = new Context(); context.SetStrategy(strat1); context.Execution(); context.SetStrategy(strat2); context.Execution(); if (Debugger.IsAttached) { Console.ReadLine(); } }
private static void Main() { var context = new Context(); Console.WriteLine("Setting Strategy to LowestCost"); context.SetStrategy(new LowestCostStrategy()); context.FindBestTravelOption(); Console.WriteLine(); Console.WriteLine("Setting Strategy to ShortestTravel"); context.SetStrategy(new ShortestTravelStrategy()); context.FindBestTravelOption(); Console.WriteLine(); Console.WriteLine("Setting Strategy to CostEfficient"); context.SetStrategy(new CostEffectiveStrategy()); context.FindBestTravelOption(); Console.WriteLine(); Console.WriteLine("Press Any Key to Quit"); Console.ReadKey(); }
static void Main(string[] args) { Context context = new Context(); var name = ConfigurationManager.AppSettings["Strategy"]; AbstractStrategy strategy = (AbstractStrategy)Assembly.Load("Strategy").CreateInstance(name); context.SetStrategy(strategy); List <int> array = new List <int>() { 1, 3, 5, 7, 9, 11, 13 }; array.ForEach(it => Console.Write($"{it} ")); var result = context.CalcIntArray(array); Console.WriteLine("\n结果为:" + result); Console.Read(); }