Junior — Senior
55
Создание расширяемого класса для взаимодействия с файловой системой
Условие задачи
Разработать класс, который:
- Способен открывать и закрывать файл;
- Предоставляет методы для чтения из файла и записи в него;
- Спроектирован таким образом, чтобы в дальнейшем его можно было без труда модифицировать (например, добавить логирование, шифрование, компрессию и т.п.). Необходимо описать предлагаемую архитектуру и интерфейс класса:
- Какие методы и свойства будут включены?
- Каким образом обеспечить возможность расширения и гарантировать безопасность использования?
Тип задачи: system design