Middle
51
Izaberite šablon za sistem za beleženje (u bazi podataka, tekstualnoj datoteci, putem zahteva)
Компаније где су питане
Одговор од АИ
sobes.tech АИ
Для системы логирования, которая может записывать данные в разные источники (БД, текстовый файл, через запрос), хорошо подходит шаблон проектирования Стратегия (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);
}
}
Такой подход обеспечивает гибкость и расширяемость системы логирования.