Csharp/C Sharp/Design Patterns/Facade Pattern

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

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