Skip to content

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Файловый менеджер - консольное приложение для управления файлами

Описание задания

Разработать консольное приложение, для управления файлами с тремя функциями - создания файлов в форматах .txt, .json, .csv с произвольным содержимым, удалять выбранный файл и восстанавливать последний удалённый файл. Необходимо применить архитектуру MVC, а также три паттерна проектирования - порождающий, структурный и поведенческий - при разработке программы. В качестве базы данных для хранения данных о состоянии и метаданных файлов должен использоваться структурированный текстовый файл.

Ответственный за код-ревью: Нестеров Данила.

Бизнес-задача №1. Создание файлов

Пользователь должен иметь возможность создавать новые текстовые файлы в системе, задавая им уникальное имя и текстовое содержимое. Порождающий паттерн для применения - Singleton, который будет использоваться для создания единого централизованного менеджера файлового хранилища (StorageManager). Этот паттерн гарантирует, что все операции по записи новых файлов на диск проходят через один уникальный объект, исключая конфликты параллельного доступа к жесткому диску и дублирование системных логов.

  • Ответственный: Скачков Александр.
  • Ветвь бизнес-задачи: feature_file-creation.

Бизнес-задача №2. Удаление файлов

Пользователь должен иметь возможность удалять выбранные файлы, при этом файлы не должны стираться безвозвратно, а должны перемещаться в изолированную виртуальную корзину системы. Структурный паттерн для применения - Facade, который будет использоваться для объединения сложных низкоуровневых операций с файловой системой (проверка существования файла на диске, открытие потоков чтения/записи, перенос данных и фиксация изменений в общем файле-логе) в один простой высокоуровневый метод DeleteFile(). Это полностью скрывает рутинную работу со стандартной библиотекой System.IO от контроллера интерфейса.

  • Ответственный: Скачков Александр.
  • Ветвь бизнес-задачи: feature_file-deletion.

Бизнес-задача №3. Восстановление файлов

Пользователь должен иметь возможность отслеживать историю изменений документов и восстанавливать удаленные файлы. Поведенческий паттерн для применения - Memento. Он позволяет создавать защищенные «снимки» состояния файла (имя, путь, содержимое) перед любым опасным действием. При вызове команды восстановления система извлекает нужный снимок и мгновенно воссоздает исходный файл на диске в первоначальном виде.

  • Ответственный: Нестеров Данила.
  • Ветвь бизнес-задачи: feature_file-recovery.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages