Задание № 221

Студент

Азаренко Андрей

Задача

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

Состояние

Открыто

Дедлайн
20 апреля 2015
Назначено

06.04.2015, 08:41

Справка

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

Задача

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

Действия