키오스크로 여러가지 상품을 선택하여 장바구니에 담습니다.
- Lv1 - 1개의 클래스가 모든 것을 담당합니다.
- Lv2 - MenuItem 클래스를 도입하여 객체 지향 설계를 적용합니다.
- Lv3 - Kisosk클래스를 이용하여 MenuItem을 관리합니다.
- Lv4 - 적절치 않았던 관리를 Menu클래스를 이용하여 관리합니다.
- Lv5 - private로 캡슐화를 합니다.
- 도전Lv1 - Lv5에
Basket클래스를 이용하여 장바구니 시스템을 도입합니다.
Main클래스
- 사용자가 선택할 수 있는 메뉴를 보여줍니다.
- 사용자가 선택한 메뉴의 이름과 가격을 표시합니다.
Main_Lv2클래스
- 상품의 가격, 이름, 코멘트를 정하고 menuItems라는 리스트에 담습니다.
- 사용자가 선택할 수 있는 메뉴를 보여주고 출력을 담당합니다.
MenuItem_Lv2클래스
- 상품의 이름, 가격, 설명을 설정합니다.
- 사용자가 선택한 메뉴에 따라 무엇을 출력할지 담당합니다.
Main_Lv3클래스
- 버거이름, 가격, 코멘트가 담긴 리스트가 있고 이를 관리하며
kisosk클래스가 주는 것들을 실행합니다.
MenuItem_Lv3클래스
- 상품의 이름, 가격, 설명을 설정합니다.
Kiosk_Lv3클래스
Main_Lv3클래스에 무엇을 출력할지 담당합니다.MenuItem_Lv3클래스가주는 menuItems리스트를 사용합니다.
Main_Lv4클래스
- menus라는 상품 카테고리별로 들어가는 리스트가 있고 menus안에는 상품의 이름, 가격, 코멘트가 들어있는 리스트들이 있습니다.
Kiosk_Lv4클래스가 주는 것들을 실행합니다.
Menu_Lv4클래스
Kiosk_Lv4클래스가 menuItems를 관리하는건 적절치 않으므로Menu_Lv4가 관리합니다.MenuItem_Lv4클래스가 주는 것들을 받고Kiosk_Lv4에 넘겨줍니다.
MenuItems_Lv4클래스
- 상품의 이름, 가격, 설명을 설정합니다.
Kiosk_Lv4클래스
-Menu_Lv4클래스를 관리하고 Menu_Lv4클래스가 넘겨주는 값들을 받습니다.
Main2클래스
- menus라는 상품 카테고리별로 들어가는 리스트가 있고 menus안에는 상품의 이름, 가격, 코멘트가 들어있는 리스트들이 있습니다.
Kiosk2클래스가 주는 것들을 실행합니다.
Menu2클래스
-MenuItem클래스를 관리합니다.
-MenuItem클래스가 주는 것들을 받고 Kiosk2에 넘겨줍니다.
MenuItems2클래스
- 상품의 이름, 가격, 설명을 설정합니다.
Kiosk2클래스
Menu2클래스를 관리하고Menu2클래스가 주는 것들을 받습니다.
Basket2클래스
Kiosk2클래스가 과하게 책임있는 것들을 빼와서 여기에서 담당합니다.- 사용자가 선택한 메뉴들을 chosenMenuItems라는 리스트에 저장합니다.
- Version : java 17
- IDE : IntelliJ
도전 Lv1 기준으로 다 비슷하기에 도전 Lv1 으로 설명합니다.
-
먼저 상품 카테고리를 선택합니다. ex)Burgers || Drinks || Desserts
-
카테로기중에서 출력되는 상품을 선택합니다. ex)pepsi || cocacola || zeroPepsi
-
선택한 메뉴가 맞는지 출력해주고 확인하셧으면 1번을 눌러 장바구니에 추가합니다.
-
1~3을 반복하고 상품선정이 끝났다면 [ ORDER MENU ]에 4번 Order을 선택합니다.
-
내가 선택한 상품들이 맞는지 확인하고 Total로 가격을 확인합니다.
-
시킬 것이 남았다면 2번을 눌러 다시 메뉴판으로가서 더 시킬지 선택합니다.
-
5번에서 시킬 것이 없다면 1번을 눌러 주문합니다. 주문이 완료되면 가격이 표시됩니다.