Задание № 2851

Студент

Бахарев Георгий

Задача

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

Состояние

Завершено

Баллов

3

Назначено

16.11.2020, 15:50

Завершено

22.11.2020, 08:45

Справка

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

Задача

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);
};

Действия