示例#1
0
        static void Main(string[] args)
        {
            var order = new Order {
                Origin = new Address {
                    ContactName  = "José da Silva",
                    Country      = "Brasil",
                    City         = "São José do Rio Preto",
                    PostalCode   = "15050-132",
                    AddressLine1 = "Rua XXX"
                },
                Destination = new Address {
                    ContactName  = "Lucas Palhares",
                    Country      = "Brasil",
                    City         = "São José do Rio Preto",
                    PostalCode   = "15050-130",
                    AddressLine1 = "Rua ABC"
                }
            };
            var service = new CostCalculationService_WithStrategy(new FedexShippingStrategy());

            var cost = service.CalculateShippingCost(order);

            Console.WriteLine(cost);

            Console.ReadKey();
        }
        public void TryStrategyPattern()
        {
            var newOrder1 = new MyOrder {
                ShippingMethod = ShippingOpteions.FedEx
            };
            var newOrder2 = new MyOrder {
                ShippingMethod = ShippingOpteions.UPS
            };
            var newOrder3 = new MyOrder {
                ShippingMethod = ShippingOpteions.Schenker
            };

            var shippingCostService = new CostCalculationService_WithStrategy();
            var shippingPrice1      = shippingCostService.CalculateShippingCost(newOrder1);
            var shippingPrice2      = shippingCostService.CalculateShippingCost(newOrder2);
            var shippingPrice3      = shippingCostService.CalculateShippingCost(newOrder3);

            Console.WriteLine(shippingPrice1);
            Console.WriteLine(shippingPrice2);
            Console.WriteLine(shippingPrice3);
        }