Вот тут на днях подумал, целесообразно ли применение ООП в некоторых ситуациях? Конкретнее допустим взять работу с файлами, реализовывая функционал простого файл-менеджера. Мне почему то видится два варианта:
1. Создать некоторый объект, который будет привязан к файлу, его допустим сделать родителем для других объектов (например директория). Каждый этот объект реализовывает некоторые методы, имеет свойства, взаимодействует с другими объектами, ко всему этому приделываем гуй - всё казалось бы логично.
2. Написать несколько ф-ций, которые реализуют некоторые операции (copy, move, ...) и состряпать к этому гуй.
Вот мне например кажется, что второй вариант намного проще, однако первый вариант мне кажется логичнее. Вот и думаю, что выбрать? Стоит ли использовать ООП в данном случае? И вообще есть ли выгода использования ООП в тех задачах, где и без него получается простой и логичный код? Или я немного не понимаю что такое ООП?