Csharp/C Sharp/Design Patterns/Facade Pattern

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

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>