Задание № 5473

Студент

Артишевский Кирилл

Задача

Логгер с различным поведением

Состояние

Завершено

Баллов

3

Назначено

17.01.2024, 06:53

Завершено

18.01.2024, 14:11

Справка

Паттерн стратегия

Задача

1. Реализовать класс логгер. Примерный интерфейс:

class LoggerStrategy {
public:
    virtual void write(const std::string &message) = 0;
};

2. Реализовать 3 типа поведения (стратегий)

  • ConsoleLogger - выводит сообщение в консоль
  • SimpleFileLogger - выводит сообщение в файл
  • TimedFileLogger - выводит текущее время + сообщение в файл

3. Реализовать класс, который будет использовать одну из стратегий

class Logger {
public:
    void set_strategy(LoggerStrategy& strategy);

    void log_message(const std::string &message);
};

Действия