Я все время говорю, говорю что вам нужно больше практики, но до сих пор ничего не предложил.



Предлагаю вам реализовать первый проект!



Задание:

Реализовать ПО для учета товаров на складе.



- Должна быть возможность создавать категории товаров

- Должна быть возможность получать список категорий товаров

- Должна быть возможность создавать товар и задавать ему категорию

- Должна быть возможность получать список созданных товаров

- Должна быть возможность удалять товары, т.к. некоторые могут становиться неактуальными

- Должна быть возможность добавлять товары, по мере их прибытия на склад

- Должна быть возможность получать количество товара на складе

- Должна быть возможность убирать товары, по мере их уменьшения на складе



Данные можно хранить in-memory (это просто вариант)

Данные можно хранить в файле. Формат выбираете сами (вариант по сложнее)

Данные можно хранить в БД. Схему придумываете самостоятельно (сложный вариант)



Приложение должно принимать команды из консоли. API предлагается придумать и разработать самим.

Также, приложение должно выводить ответы на команды в консоль.



Предполагается, что вы знакомы с такими вещами, как:

- синтаксис

- коллекции



Остальные знания нужно получить в процессе разработки.



Примерное время выполнения 2-3 недели.

Если есть опыт, то сделать можно за 2-3 часа



Все вопросы и уточнения пишите в комменты, т.к. я сделал этот высер просто из головы. Будем додумывать спорные моменты.



Что я хочу дать вам этим заданием:

- Работа со структурами данных. Вы должны получить опыт дизайна сущностей и связей между ними.

- Лучшее освоение коллекций

- Продумывания взаимодействия ваших компонентов. Декомпозиция функционала и определение зон ответственности

- Научиться работать с потоками ввода/вывода

- Лучшее освоение конструкций - циклы и условные операторы.



Кто сделает задание, я предложу вам расширить функционал, и вот там посмотрим, на сколько ваше приложение готово к этому. Вы прочувствуете, что это такое и зададитесь вопросом, как это можно было минимизировать, и познакомитесь с такими штуками, как паттерны.