Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
8
Рефакторинг IOManager с применением принципа единственной ответственности (SRP)
Условие задачи
Необходимо переработать монолитный класс, отвечающий за ввод‑вывод, разбив его на несколько специализированных компонентов. Каждый из новых классов будет выполнять операции только с одним типом хранилища, тем самым соблюдая принцип единственной ответственности.
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, каждый из которых будет реализовывать только соответствующие методы сохранения и чтения.