Sobes.tech
Middle
54

Kayıt sistemi için bir tasarım deseni seçin (Veritabanında, metin dosyası, sorgu aracılığıyla)

Sorulan şirketler
СБЕРСБЕР

AI'dan gelen yanıt

sobes.tech yapay zeka

Для системы логирования, которая может записывать данные в разные источники (БД, текстовый файл, через запрос), хорошо подходит шаблон проектирования Стратегия (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);
    }
}

Такой подход обеспечивает гибкость и расширяемость системы логирования.