Mega Code Archive

 
Categories / C# / Design Patterns
 

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();     } }