Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Middle+
4
Разработка единого интерфейса доступа к различным хранилищам
Условие задачи
Необходимо выделить общую абстракцию и спроектировать единый интерфейс, который позволит одинаково работать с файлами, базой данных и удалённым сервером.
class FileManager {
public:
void SaveToFile(const std::string& filePath);
void ReadFromFile(const std::string& filePath);
};
class DBManager {
public:
void SaveToDB(const std::string& url);
void ReadFromDB(const std::string& url);
};
class ServerManager {
public:
void SaveToServer(const std::string& url);
void ReadFromServer(const std::string& url);
};
Опишите, какие методы и типы следует включить в абстракцию, как её реализовать и как обеспечить возможность расширения под новые типы хранилищ без изменения клиентского кода.