Назад к задачам
Junior — Senior
8

Рефакторинг IOManager с применением принципа единственной ответственности (SRP)

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо переработать монолитный класс, отвечающий за ввод‑вывод, разбив его на несколько специализированных компонентов. Каждый из новых классов будет выполнять операции только с одним типом хранилища, тем самым соблюдая принцип единственной ответственности.

class UnifiedIOManager {
public:
    void SaveToFile(const std::string& path);
    void ReadFromFile(const std::string& path);

    void SaveToDB(const std::string& endpoint);
    void ReadFromDB(const std::string& endpoint);

    void SaveToServer(const std::string& endpoint);
    void ReadFromServer(const std::string& endpoint);
};

После разделения следует создать отдельные классы, например FileStorage, DatabaseStorage и ServerStorage, каждый из которых будет реализовывать только соответствующие методы сохранения и чтения.