Обратная связь по UML-диаграмме: структура классов и их взаимодействие Вопрос №1
Учусь программировать на Java, дошел до этапа понимания, что проектирование структуры проекта должно быть ДО написания кода, даже несмотря на то, что проект маленький у учебный - это оказалось непростой задачей. Два дня пришлось потратить, чтобы сделать, на мой взгляд грамотный вариант. Прошу знающих людей дать оценку моему "творению", безжалостную)
также буду сильно благодарен за любые советы и рекоммендации.
задача звучит следующим образом:
утилита для работы с файлами. Приложение должно отображать информацию о файлах, содержимое папок и их размер, а также предоставлять функционал перемещения/переименования. По сути, приложение эмулирует командную строку Unix-подобных систем.
Программа должна принимать в качестве аргумента абсолютный путь к папке, с которой начинается работа, и поддерживать следующие команды:
mv ЧТО КУДА – позволяет переместить или переименовать файл, если КУДА содержит имя файла без пути. ls – отображает содержимое текущей папки (имена файлов и подпапок и их размеры в КБ) cd ИМЯ_ПАПКИ – меняет текущий каталог
Предположим, на диске C:/ (или в корневом каталоге, в зависимости от ОС) есть папка MAIN со следующей иерархией:
MAIN folder1 image.jpg animation.gif folder2 text.txt Program.java Пример работы программы для каталога MAIN:
$ java Program --current-folder=C:/MAIN
C:/MAIN
-> ls
folder1 60 KB
folder2 90 KB
-> cd folder1
C:/MAIN/folder1
-> ls
image.jpg 10 KB
animation.gif 50 KB
-> mv image.jpg image2.jpg
-> ls
image2.jpg 10 KB
animation.gif 50 KB
-> mv animation.gif ../folder2
-> ls
image2.jpg 10 KB
-> cd ../folder2
C:/MAIN/folder2
-> ls
text.txt 10 KB
Program.java 80 KB
animation.gif 50 KB
-> exit
А это моя UML диаграмма: