Facade Pattern Demo
using System; public class PizzaDelivery { public void GetDeliveryStuff() { Console.WriteLine("Pizza Delivery stuff."); } public PizzaDelivery() {} } public class PizzaFinance { public void GetPizzaFinanceStuff() { Console.WriteLine("Pizza Finance stuff."); } public PizzaFinance() { } } public class PizzaInsurance { public void GetPizzaInsuranceStuff() { Console.WriteLine("Pizza Insurance stuff."); } public PizzaInsurance() {} } public class PizzaOrder { public void GetPizzaOrderStuff() { Console.WriteLine("Pizza Order stuff."); } public PizzaOrder() { } } public class PizzaRegistration { public void GetPizzaRegistrationStuff() { Console.WriteLine("Pizza Registration stuff."); } public PizzaRegistration() {} } public class PizzaCooking { public void GetPizzaServiceStuff() { Console.WriteLine("Pizza Service stuff."); } public PizzaCooking() { } } public class DealerRepresentative { private PizzaDelivery delivery; private PizzaFinance finance; private PizzaInsurance insurance; private PizzaOrder order; private PizzaRegistration registration; private PizzaCooking service; public void GetPizzaUpdate() { this.delivery.GetDeliveryStuff(); this.finance.GetPizzaFinanceStuff(); this.insurance.GetPizzaInsuranceStuff(); this.order.GetPizzaOrderStuff(); this.registration.GetPizzaRegistrationStuff(); this.service.GetPizzaServiceStuff(); } public DealerRepresentative() { delivery = new PizzaDelivery(); finance = new PizzaFinance(); insurance = new PizzaInsurance(); order = new PizzaOrder(); registration = new PizzaRegistration(); service = new PizzaCooking(); } } public class Client { static void Main(string[] args) { DealerRepresentative gopher = new DealerRepresentative(); gopher.GetPizzaUpdate(); } }