示例#1
0
文件: Cafe.cs 项目: LimenitisNS/Pizza
        public BlankPizza GetPizza(string pizza)
        {
            switch (pizza)
            {
            case "Carbonara":
                CarbonaraBuilder carbonaraBuilder = new CarbonaraBuilder();
                carbonaraBuilder.SetCheese().SetTomatoes().SetMeat();
                return(carbonaraBuilder.pizza);

            case "Italian":
                ItalianBuilder italianBuilder = new ItalianBuilder();
                italianBuilder.SetCheese().SetTomatoes().SetOlives().SetMeat();
                return(italianBuilder.pizza);

            case "Margarita":
                MargaritaBuilder margaritaBuilder = new MargaritaBuilder();
                margaritaBuilder.SetCheese().SetTomatoes().SetOlives();
                return(margaritaBuilder.pizza);

            case "Pepperoni":
                PepperoniBuilder pepperoniBuilder = new PepperoniBuilder();
                pepperoniBuilder.SetCheese().SetTomatoes().SetMeat();
                return(pepperoniBuilder.pizza);

            default:
                throw new InvalidOperationException("This pizza is not on the menu");
            }
        }
示例#2
0
        static void Main(string[] args)
        {
            PizzaBuilder carbonaraBuilder = new CarbonaraBuilder();

            carbonaraBuilder.SetCheese().SetTomatoes().SetOlives().SetMeat();

            BlankPizza pizza1 = carbonaraBuilder.GetPizza();

            Console.WriteLine(pizza1.GetComponentPizza());

            carbonaraBuilder.SetCheese().SetMeat();

            BlankPizza pizza2 = carbonaraBuilder.GetPizza();

            Console.WriteLine("\n" + pizza2.GetComponentPizza());
            Console.ReadKey();
        }