БД РЕСТОРАНА
Проект "База данных Ресторана"
Данный проект представляет собой систему онлайн-заказа еды и напитков с использованием объектно-ориентированного подхода в языке программирования Java с паттерном MVC. В основе проекта лежит иерархия классов для представления различных позиций меню, а также классы для управления заказами. Данная работа была написана мной на втором курсе обучения.
Основные классы в проекте:
Item: Абстрактный класс, представляющий товар в меню. От него наследуются классы Drink и Dish, представляющие напитки и блюда соответственно. Каждый товар имеет уникальный идентификатор, название и описание.
InternetOrder: Класс, представляющий заказ, оформленный через интернет. Содержит массив позиций заказа, позволяет вычислить общую стоимость и количество предметов в заказе. Также предоставляет методы для добавления и удаления позиций.
OrderManager: Класс, управляющий заказами. Позволяет добавлять заказы с уникальными идентификаторами (в данном случае, адресами), а также получать заказы по их идентификаторам. В случае попытки добавления заказа с уже существующим идентификатором, выбрасывается исключение OrderAlreadyAddedException.
Пример использования проекта в методе main:
Создаются объекты Drink и Dish, представляющие напиток и блюдо.
Формируется заказ InternetOrder с использованием созданных позиций.
Выводится общая стоимость и количество предметов в заказе.
Добавляется новая позиция в заказ и снова выводится общая стоимость и количество предметов.
Удаляется позиция из заказа и выводится обновленная информация.
Получаются и выводятся отсортированные по убыванию цены позиции заказа.
Проект также включает тесты исключений, например, попытки создать блюдо с некорректными параметрами, добавить заказ с уже существующим адресом или получить заказ для несуществующего столика. В случае возникновения исключений, программа выводит сообщения об ошибке в стандартный поток ошибок.