Легенда

В стартапе «ФайлоСмехоТрон», возникла потребность в создании консольного нового файлового менеджера. Команда разработчиков выделила три ключевых модуля: работа с консолью, обработка команд и взаимодействие с файловой системой.

Вам бы очень хотелось получить позицию в этой компании. Задачу передали вам в качестве тестового задания.

Цель

Создание консольного файлового менеджера.

Задача

Инструменты

  1. Java, а именно: работа с файлами, консольный ввод вывод, основные конструкции языка
  2. JUnit для написания юнит-тестов

Этапы

<aside> 1️⃣ Проработка архитектуры приложения

</aside>

Для полноценной работы приложения необходимы:

  1. Модуль работы с консолью
  2. Модуль обработки команд
  3. Модуль работы с файловой системой

Необходимо создать эти классы, расположить их в соответствующих пакетах.

💡 К примеру, класс работы с консолью может называться Console, а класс работы файловой системой может называться FileSystemService.

Пример предполагаемой работы приложения отражен на диаграмме ниже, однако, вы можете обоснованно выбрать свой вариант архитектуры.

P.S. ComandExecutor необходим для определения того, какой метод FileSystemService вызывать при определённой команде. Существует он для того, чтобы ответственность за это не перекладывать на Console.

https://lh7-us.googleusercontent.com/E5vEHHWafca8BMEgzTgrOQgsoMGjV1-KJd2tKFoHUmEQhBhz7IAjAL4sUejdol1IbRJzD7l24DSyTv1B0FaA7YPHKPNxCTIaCs2jOLVhdIaUQOsEl2c28QYLXA7424lKx6Hpc5fnywEhRRh2v3GhOtg

<aside> 2️⃣ Разработка полнофункционального модуля по работе с консолью

</aside>