Sobes.tech
Junior — Senior
55

Создание расширяемого класса для взаимодействия с файловой системой

Условие задачи

Разработать класс, который:

  1. Способен открывать и закрывать файл;
  2. Предоставляет методы для чтения из файла и записи в него;
  3. Спроектирован таким образом, чтобы в дальнейшем его можно было без труда модифицировать (например, добавить логирование, шифрование, компрессию и т.п.). Необходимо описать предлагаемую архитектуру и интерфейс класса:
  • Какие методы и свойства будут включены?
  • Каким образом обеспечить возможность расширения и гарантировать безопасность использования?

Тип задачи: system design