Назад к вопросам
СБЕР
Middle
3
Выбери шаблон проектирования для системы логирования (в БД, текстовый файл, через запрос)
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Для системы логирования, которая может записывать данные в разные источники (БД, текстовый файл, через запрос), хорошо подходит шаблон проектирования Стратегия (Strategy).
Этот шаблон позволяет определить семейство алгоритмов логирования, инкапсулировать каждый из них и делать их взаимозаменяемыми. В зависимости от конфигурации или условий выполнения можно выбирать нужный способ логирования без изменения клиентского кода.
Пример на Java:
public interface LoggerStrategy {
void log(String message);
}
public class FileLogger implements LoggerStrategy {
public void log(String message) {
// запись в файл
}
}
public class DbLogger implements LoggerStrategy {
public void log(String message) {
// запись в базу данных
}
}
public class QueryLogger implements LoggerStrategy {
public void log(String message) {
// логирование через запрос
}
}
public class LoggerContext {
private LoggerStrategy strategy;
public LoggerContext(LoggerStrategy strategy) {
this.strategy = strategy;
}
public void setStrategy(LoggerStrategy strategy) {
this.strategy = strategy;
}
public void log(String message) {
strategy.log(message);
}
}
Такой подход обеспечивает гибкость и расширяемость системы логирования.