static void Main(string[] args) { var store = new DataStore(data: new int[] { 1, 3, 4, 5, 7, 8, 10, 15, 30 }); var sum = store.SumOfOdd(); Console.WriteLine($"Páratlanok összege: {sum}"); sum = store.ProductOfEvent(); Console.WriteLine($"Párosok szorzata: {sum}"); IStrategy strategy = new SumOfOddStrategy(); var storeWStrategy = new DataStoreWithStrategy(data: new int[] { 1, 3, 4, 5, 7, 8, 10, 15, 30 }); storeWStrategy.SetStrategy(strategy); sum = storeWStrategy.Process(); Console.WriteLine($"Páratlanok összege: {sum}"); strategy = new ProductOfEventStrategy(); storeWStrategy.SetStrategy(strategy); sum = storeWStrategy.Process(); Console.WriteLine($"Párosok szorzata: {sum}"); Console.ReadLine(); }
static void Main(string[] args) { var store = new DataStore(data: new int[] { 1, 3, 4, 5, 7, 8, 10, 15, 30 }); var sum = store.SumOfOdd(); Console.WriteLine($"Sum odd numbers: {sum}"); // 31 sum = store.ProductOfEven(); Console.WriteLine($"Multiplication of even numbers: {sum}\r\n"); // 9600 //Same process with help of Strategy Pattern. // My datastore. var storeWStrategy = new DataStoreWithStrategy(data: new int[] { 1, 3, 4, 5, 7, 8, 10, 15, 30 }); //Mode of operation, Process method: IStrategy strategy = new sumOfOddStrategy(); //Connects the data store with the mode of operation. storeWStrategy.SetStrategy(strategy); //We ask to complete the operation. sum = storeWStrategy.Process(); Console.WriteLine($"Sum odd numbers: {sum}"); // 31 //My next strategy strategy = new ProductOfEvenStrategy(); //Connects the data store with the mode of operation. storeWStrategy.SetStrategy(strategy); //We ask to complete the operation. sum = storeWStrategy.Process(); Console.WriteLine($"Multiplication of even numbers: {sum}"); // 9600 Console.ReadLine(); }
static void Main(string[] args) { var store = new DataStore(data: new int[] { 1, 3, 4, 5, 7, 8, 10, 15, 30 }); //páratlan számok összege var sum = store.SumOfOdd(); Console.WriteLine($"Páratlanok összege: {sum}"); //páros számok szorzata sum = store.ProductOfEven(); Console.WriteLine($"Párosok szorzata: {sum}"); //ugyanez stratégia mintával var storeWStrategy = new DataStoreWithStrategy(data: new int[] { 1, 3, 4, 5, 7, 8, 10, 15, 30 }); //példányosítunk egy műveletvégző osztályt IStrategy strategy = new SumOfOddStrategy(); //átadjuk az adatokat tároló osztálynak storeWStrategy.SetStrategy(strategy); //majd kérjük, hogy végezze el a műveletet sum = storeWStrategy.Process(); Console.WriteLine($"Páratlanok összege: {sum}"); strategy = new ProductOfEvenStrategy(); //átadjuk az adatokat tároló osztálynak storeWStrategy.SetStrategy(strategy); //majd kérjük, hogy végezze el a műveletet sum = storeWStrategy.Process(); Console.WriteLine($"Párosok szorzata: {sum}"); Console.ReadLine(); }