Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Менеджер задач

TODOs

Центральный для логики программы компонентом является класс Todos. Объект этого класса содержит в себе набор задач, добавленных в систему.

Каждая задача представляет собой обычное значение типа String. Например: "Сходить в магазин", "Пойти на пробежку".

Изначально объект этого класса не должен содержать никаких задач, но должна быть возможность:

  • добавить их через метод add;
  • удалить через метод remove.

Также у этого объекта есть возможность получить все актуальные задачи разом через метод getAllTasks - метод возвращает все задачи через пробел в отсортированном лексикографическом (словарном) порядке. Например, если мы добавили задачу "Пробежка", "Акробатика" и "Учёба", то этот метод должен вернуть строку вида Акробатика Пробежка Учёба.

Сервер

Программа принимает запросы на добавление или удаление задач из списка через сервер. Сервер создаётя и запускается в классе Main, После старта, он должен в бесконечном цикле принимать подключения и считывать с них одну строку, в которой будет располагаться json вида:

{ "type": "ADD", "task": "Название задачи" }

где type - тип операции (ADD или REMOVE), а task - сама задача.

Таким образом, одна операция соответствует одному запросу (а не один запрос с кучей строк-операций).

Для парсинга входных данных подключения воспользуйтесь библиотекой GSon (com.google.code.gson:gson:2.8.9). Мы предполагаем, что на сервер всегда приходят корректные данные.

В ответ на запрос сервер должен присылать текущее состояние списка задач после совершения операции и в том виде, в котором его возвращает операция getAllTasks (т.е. без всяких json и тп).

Клиент

Для демонстрационных целей создан класс Client, который пытается добавить задачу со случайным именем из ограниченного набора имён. Вы можете запустить Main, а затем запустить Client, чтобы увидеть, как отработает сервер на ваш запрос.

Проект выполнен как итоговое задание курсов Нетологии "Java-Разработчик"

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages