コード例 #1
0
 public JavaWaitress(BreakfastMenu breakFast, DinnerMenu lunchMenu)
 {
     this.breakFast = breakFast;
     this.lunchMenu = lunchMenu;
     breakFastItems = breakFast.getMenuItems();
     lunchItems     = lunchMenu.getMenuItems();
 }
コード例 #2
0
        public void TestWaitressPrintMenu()
        {
            StringBuilder printMenuOutput = new StringBuilder();

            PancakeHouseMenu pancakeHouseMenu = new PancakeHouseMenu();
            DinnerMenu       dinnerMenu       = new DinnerMenu();
            CafeMenu         cafeMenu         = new CafeMenu();

            Waitress waitress = new Waitress(pancakeHouseMenu, dinnerMenu, cafeMenu);

            printMenuOutput.Append("MENU\n");
            printMenuOutput.Append("----\n");
            printMenuOutput.Append("BREAKFAST\n");
            printMenuOutput.Append("K&B's Pancake Breakfast, 2.99 -- Pancakes with scrambled eggs, and toast\n");
            printMenuOutput.Append("Regular Pancake Breakfast, 2.99 -- Pancakes with fried eggs, and sausage\n");
            printMenuOutput.Append("Blueberry Pancakes, 3.49 -- Pancakes made with fresh blueberries\n");
            printMenuOutput.Append("Waffles, 3.59 -- Waffles, with your choice of blueberries or strawberries\n");
            printMenuOutput.Append("\n");
            printMenuOutput.Append("LUNCH\n");
            printMenuOutput.Append("Vegetarian BLT, 2.99 -- (Fakin') Bacon with lettuce & tomato on whole wheat\n");
            printMenuOutput.Append("BLT, 2.99 -- Bacon with lettuce & tomato on whole wheat\n");
            printMenuOutput.Append("Soup of the day, 3.29 -- Soup of the day, with a side of potato salad\n");
            printMenuOutput.Append("Hotdog, 3.05 -- A hot dog with saurkraut, relish, onions, topped with cheese\n");
            printMenuOutput.Append("Steamed Veggies and Brown Rice, 3.99 -- Steamed vegetables over brown rice\n");
            printMenuOutput.Append("Pasta, 3.89 -- Spaghetti with Marina Sauce and a slice of sourdough bread\n");
            printMenuOutput.Append("\nDinner\n");
            printMenuOutput.Append("Veggie Burger and Air Fries, 3.99 -- Veggie burger on a whole wheat bun, lettuce, tomato, and fries\n");
            printMenuOutput.Append("Soup of the Day, 3.69 -- A cup of the soup of the day, with a side salad\n");
            printMenuOutput.Append("Burrito, 4.29 -- A large burrito, with whole pinto beans, salsa, guacamole\n");

            Assert.AreEqual(printMenuOutput.ToString(), waitress.PrintMenu());
        }
コード例 #3
0
        static void Iterator()
        {
            IMenu    pancakeHouseMenu = new PancakeHouseMenu();
            IMenu    dinnerMenu       = new DinnerMenu();
            Waitress waitress         = new Waitress(pancakeHouseMenu, dinnerMenu);

            waitress.PrintMenu();
        }
コード例 #4
0
        private static void Main()
        {
            var breakfast = new BreakfastMenu();
            var dinner    = new DinnerMenu();
            var waiter    = new Client(breakfast, dinner);

            waiter.PrintMenu();
        }
コード例 #5
0
        static void Main(string[] args)
        {
            PancakeHouseMenu pancakeHouseMenu = new PancakeHouseMenu();
            DinnerMenu       dinnerMenu       = new DinnerMenu();

            Waitress waitress = new Waitress(new List <IMenu> {
                pancakeHouseMenu, dinnerMenu
            });

            waitress.PrintMenu();
        }
コード例 #6
0
        public static void Main(string[] args)
        {
            // 점심 메뉴 생성
            LunchMenu lunch = new LunchMenu();

            lunch.AddItem(0, new MenuItem(6000, "제육볶음"));
            lunch.AddItem(5, new MenuItem(7000, "불고기"));
            lunch.AddItem(3, new MenuItem(6500, "순두부 찌개"));

            // 저녁 메뉴 생성
            DinnerMenu dinner = new DinnerMenu();

            dinner.AddItem(new MenuItem(15000, "닭발"));
            dinner.AddItem(new MenuItem(7000, "황도"));
            dinner.AddItem(new MenuItem(12000, "오뎅탕"));

            PartTimer.AllPrintMenu(lunch.CreateIterator());

            PartTimer.AllPrintMenu(dinner.CreateIterator());
        }
コード例 #7
0
 public DinnerIterator(DinnerMenu dinnerMenu)
 {
     dinnerMenuItems = dinnerMenu.getMenuItems();
 }
コード例 #8
0
        static void Main(string[] args)
        {
            var dinnerMenu    = new DinnerMenu();
            var breakfastMenu = new BreakfastMenu();
            var cafeMenu      = new CafeMenu();


            MenuComponent breakfastCMenu = new Menu("PANCAKE HOUSE", "Breakfast");
            MenuComponent dinnerCMenu    = new Menu("FINE DINING ITALIAN", "Dinner");
            MenuComponent coffeeCMenu    = new Menu("THE TEA HOSE", "Tea Time");
            MenuComponent foodCourtMenu  = new Menu("THE FOOD COURT - 24 Hours", "All day food");

            foodCourtMenu.add(breakfastCMenu);
            foodCourtMenu.add(dinnerCMenu);
            foodCourtMenu.add(coffeeCMenu);

            MenuItem pasta = new MenuItem(5, "Lunch: Pasta", "Pasta", false);
            MenuItem soup  = new MenuItem(10, "Lunch: Soup", "Soup", true);
            MenuItem salad = new MenuItem(15, "Lunch: Salda", "Salda", true);

            MenuItem tea     = new MenuItem(6, "Tea Time: Tea", "Tea", true);
            MenuItem biscuit = new MenuItem(9, "Tea Time: Biscuit", "Biscuit", false);
            MenuItem cake    = new MenuItem(12, "Tea Time: Cake", "Cake", false);

            MenuItem coffee = new MenuItem(11, "Breakfast: Coffee", "Coffee", true);
            MenuItem fruit  = new MenuItem(22, "Breakfast: Fruit", "Fruit", true);
            MenuItem muesly = new MenuItem(33, "Breakfast: Muesly", "Muesly", false);

            breakfastCMenu.add(coffee);
            breakfastCMenu.add(fruit);
            breakfastCMenu.add(muesly);

            dinnerCMenu.add(pasta);
            dinnerCMenu.add(soup);
            dinnerCMenu.add(salad);

            coffeeCMenu.add(tea);
            coffeeCMenu.add(biscuit);
            coffeeCMenu.add(cake);

            WaitressComposite superWaittress = new WaitressComposite(foodCourtMenu);

            superWaittress.printMenu();

            Console.ReadLine();

            var javaWaitress = new JavaWaitressIterator(breakfastMenu, dinnerMenu, cafeMenu);

            var dinnerOrderId    = javaWaitress.AddMenu(dinnerMenu);
            var breakfastOrderId = javaWaitress.AddMenu(breakfastMenu);
            var cafeOrderId      = javaWaitress.AddMenu(cafeMenu);

            javaWaitress.PrintOrder(dinnerOrderId);
            javaWaitress.PrintOrder(breakfastOrderId);
            javaWaitress.PrintOrder(cafeOrderId);

            javaWaitress.PrintOrders();

            javaWaitress.PrintOrdersWithIterators();

            Console.ReadLine();

            return;

            Console.WriteLine("Testing New Cafe Menu added");

            javaWaitress.printCafeMenu_WithEnumerator();

            javaWaitress.printCafeMenu_WithIterator();

            Console.ReadLine();
            return;

            Console.WriteLine("\nPrinting BREAKFAST MENU_____________________");
            javaWaitress.printBreakfastMenu_WithEnumerator();

            Console.WriteLine("\nPrinting LUNCH MENU_____________________");
            javaWaitress.printDinnerMenu_WithEnumerator();

            Console.WriteLine("\nPrinting ALL menu_____________________");
            javaWaitress.printMenu();

            Console.WriteLine("\nPrinting vegetarian dishes_____________________");

            Console.WriteLine("Item {0} is vegetarian: {1}", "Set A", javaWaitress.isItemVegetarian("Set A"));
            Console.WriteLine("Item {0} is vegetarian: {1}", "Set B", javaWaitress.isItemVegetarian("Set B"));
            Console.WriteLine("Item {0} is vegetarian: {1}", "Set C", javaWaitress.isItemVegetarian("Set C"));
            Console.WriteLine("Item {0} is vegetarian: {1}", "Set D", javaWaitress.isItemVegetarian("Set D"));

            Console.WriteLine("Item {0} is vegetarian: {1}", "Dinner Set A", javaWaitress.isItemVegetarian("Dinner Set A"));
            Console.WriteLine("Item {0} is vegetarian: {1}", "Dinner Set B", javaWaitress.isItemVegetarian("Dinner Set B"));
            Console.WriteLine("Item {0} is vegetarian: {1}", "Dinner Set C", javaWaitress.isItemVegetarian("Dinner Set C"));
            Console.WriteLine("Item {0} is vegetarian: {1}", "Dinner Set D", javaWaitress.isItemVegetarian("Dinner Set D"));

            Console.ReadLine();
        }
コード例 #9
0
 public Waitress(PancakeHouseMenu pancakeHouseMenu, DinnerMenu dinnerMenu)
 {
     _pancakeHouseMenu = pancakeHouseMenu;
     _dinnerMenu       = dinnerMenu;
 }
コード例 #10
0
 public JavaWaitress(BreakfastMenu breakFast, DinnerMenu lunchMenu)
 {
     this.breakFast = breakFast;
     this.lunchMenu = lunchMenu;
     breakFastItems = breakFast.getMenuItems();
     lunchItems = lunchMenu.getMenuItems();
 }
コード例 #11
0
        static void Main(string[] args)
        {
            var dinnerMenu = new DinnerMenu();
            var breakfastMenu = new BreakfastMenu();
            var  cafeMenu = new CafeMenu();

            MenuComponent breakfastCMenu = new Menu("PANCAKE HOUSE", "Breakfast");
            MenuComponent dinnerCMenu = new Menu("FINE DINING ITALIAN", "Dinner");
            MenuComponent coffeeCMenu = new Menu("THE TEA HOSE", "Tea Time");
            MenuComponent foodCourtMenu = new Menu("THE FOOD COURT - 24 Hours", "All day food");

            foodCourtMenu.add(breakfastCMenu);
            foodCourtMenu.add(dinnerCMenu);
            foodCourtMenu.add(coffeeCMenu);

            MenuItem pasta = new MenuItem(5, "Lunch: Pasta", "Pasta", false);
            MenuItem soup = new MenuItem(10, "Lunch: Soup", "Soup", true);
            MenuItem salad = new MenuItem(15, "Lunch: Salda", "Salda", true);

            MenuItem tea = new MenuItem(6, "Tea Time: Tea", "Tea", true);
            MenuItem biscuit = new MenuItem(9, "Tea Time: Biscuit", "Biscuit", false);
            MenuItem cake = new MenuItem(12, "Tea Time: Cake", "Cake", false);

            MenuItem coffee = new MenuItem(11, "Breakfast: Coffee", "Coffee", true);
            MenuItem fruit = new MenuItem(22, "Breakfast: Fruit", "Fruit", true);
            MenuItem muesly = new MenuItem(33, "Breakfast: Muesly", "Muesly", false);

            breakfastCMenu.add(coffee);
            breakfastCMenu.add(fruit);
            breakfastCMenu.add(muesly);

            dinnerCMenu.add(pasta);
            dinnerCMenu.add(soup);
            dinnerCMenu.add(salad);

            coffeeCMenu.add(tea);
            coffeeCMenu.add(biscuit);
            coffeeCMenu.add(cake);

            WaitressComposite superWaittress = new WaitressComposite(foodCourtMenu);

            superWaittress.printMenu();

            Console.ReadLine();

            var javaWaitress = new JavaWaitressIterator(breakfastMenu, dinnerMenu, cafeMenu);

            var dinnerOrderId = javaWaitress.AddMenu(dinnerMenu);
            var breakfastOrderId = javaWaitress.AddMenu(breakfastMenu);
            var cafeOrderId = javaWaitress.AddMenu(cafeMenu);

            javaWaitress.PrintOrder(dinnerOrderId);
            javaWaitress.PrintOrder(breakfastOrderId);
            javaWaitress.PrintOrder(cafeOrderId);

            javaWaitress.PrintOrders();

            javaWaitress.PrintOrdersWithIterators();

            Console.ReadLine();

            return;

            Console.WriteLine("Testing New Cafe Menu added");

            javaWaitress.printCafeMenu_WithEnumerator();

            javaWaitress.printCafeMenu_WithIterator();

            Console.ReadLine();
            return;

            Console.WriteLine("\nPrinting BREAKFAST MENU_____________________");
            javaWaitress.printBreakfastMenu_WithEnumerator();

            Console.WriteLine("\nPrinting LUNCH MENU_____________________");
            javaWaitress.printDinnerMenu_WithEnumerator();

            Console.WriteLine("\nPrinting ALL menu_____________________");
            javaWaitress.printMenu();

            Console.WriteLine("\nPrinting vegetarian dishes_____________________");

            Console.WriteLine("Item {0} is vegetarian: {1}", "Set A", javaWaitress.isItemVegetarian("Set A"));
            Console.WriteLine("Item {0} is vegetarian: {1}", "Set B", javaWaitress.isItemVegetarian("Set B"));
            Console.WriteLine("Item {0} is vegetarian: {1}", "Set C", javaWaitress.isItemVegetarian("Set C"));
            Console.WriteLine("Item {0} is vegetarian: {1}", "Set D", javaWaitress.isItemVegetarian("Set D"));

            Console.WriteLine("Item {0} is vegetarian: {1}", "Dinner Set A", javaWaitress.isItemVegetarian("Dinner Set A"));
            Console.WriteLine("Item {0} is vegetarian: {1}", "Dinner Set B", javaWaitress.isItemVegetarian("Dinner Set B"));
            Console.WriteLine("Item {0} is vegetarian: {1}", "Dinner Set C", javaWaitress.isItemVegetarian("Dinner Set C"));
            Console.WriteLine("Item {0} is vegetarian: {1}", "Dinner Set D", javaWaitress.isItemVegetarian("Dinner Set D"));

            Console.ReadLine();
        }
コード例 #12
0
 public DinnerIterator(DinnerMenu dinnerMenu)
 {
     dinnerMenuItems = dinnerMenu.getMenuItems();
 }
コード例 #13
0
 public DinnerMenuIterator(DinnerMenu dinnerMenu)
 {
     _dinnerMenu = dinnerMenu;
 }
コード例 #14
0
 public WaitressClient(PancakeHouseMenu packageHouseMenu, DinnerMenu dinnerMenu)
 {
     this.packageHouseMenu = packageHouseMenu;
     this.dinnerMenu = dinnerMenu;
 }
コード例 #15
0
        public static void Main(string[] args)
        {
            Console.WriteLine("\n\n\r===========Working with Strategy Pattern=======");

            RedHeadDuck redHeadDuck = new RedHeadDuck();

            redHeadDuck.PerformFly();
            redHeadDuck.PerformQuack();
            redHeadDuck.Swim();
            redHeadDuck.Display();
            Console.WriteLine("\n\rSetting the Behaviour for Ducks that exibit different Behaviours");

            RubberDuck rubberDuck = new RubberDuck();

            rubberDuck.PerformFly();
            rubberDuck.SetFlyBehaviour(new FlyWithRockets());
            rubberDuck.PerformFly();
            rubberDuck.PerformQuack();


            Console.WriteLine("\n\n\r===========Working with Observer Pattern=======");

            WeatherData WeatherData = new WeatherData();

            ForecastDisplay forcastDisplay = new ForecastDisplay(WeatherData);

            WeatherData.WeatherMeasurements(15, 20, 25);

            Console.WriteLine("\n\n\r===========Working with Classic Singleton=======");
            ClassicSingleton classicSingleton = ClassicSingleton.GetInstance();

            classicSingleton.Description();

            Console.WriteLine("\n\n\r===========Working with Static Singleton=======");
            StaticSingleton staticSingleton = StaticSingleton.GetInstance();

            staticSingleton.Description();

            Console.WriteLine("\n\n\r===========Working with Singleton using syncronization=======");
            SingletonUsingSyncronization syncronizedSingleton = SingletonUsingSyncronization.GetInstance();

            syncronizedSingleton.Description();


            Console.WriteLine("\n\n\r===========Working with Factory Design Pattern=======");
            SimplePizzaFactory factory = new SimplePizzaFactory();

            PizzaStore store = new PizzaStore(factory);
            Pizza      pizza = store.OrderPizza("Cheese");

            Console.WriteLine(pizza.ToString());

            Console.WriteLine("\nState Machine Design Pattern");

            GumballMachine machine = new GumballMachine(5);

            Console.WriteLine(machine);

            machine.InsertQuarter();
            machine.EjectQuarter();
            machine.TurnCrank();
            Console.WriteLine(machine);

            Console.WriteLine("\n Working with Iterators");
            DinnerMenu dinnerMenu = new DinnerMenu();

            DesignPatterns.Iterator.Iterator iterator = dinnerMenu.CreateIterator();

            while (iterator.HasNext())
            {
                var current = iterator.Next();
                Console.WriteLine(current);
            }

            Console.WriteLine("\n============================");
            PanCakeHouseMenu panMenu = new PanCakeHouseMenu();

            DesignPatterns.Iterator.Iterator panIterator = panMenu.CreateIterator();

            while (panIterator.HasNext())
            {
                var current = panIterator.Next();
                Console.WriteLine(current);
            }
        }
コード例 #16
0
 public MenuItemDTO DinnerMenu_get(string key) => DinnerMenu.FirstOrDefault(i => i.Id.ToString() == key);