Csharp/C Sharp/Design Patterns/Facade Pattern
Facade Pattern Demo
<source lang="csharp"> 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(); }
}
</source>