переменная?
разве что как явный аргумент _везде_ протаскивать, но вряд ли оно того стоит.
Да, явно не стоит )
static CONFIG: Lazy<Config> = Lazy::new(|| /*грузим*/); вроде, не такая уж и пугающая штука, особенно если спрятать в модуль и доступ только через аккуратную публичную функцию дать
конфиг все-таки выглядит местом, где вреда от них не должно быть много
Ну это примерно никак не отличается от конфига, передающегося через DI
// config.rs static CONFIG: ...; pub fn get_worker_count() -> usize { CONFIG.worker_count } Тут только один модуль знает про глобальную переменную с конфигом
Какие ещё варианты есть с конфигом?
Ок, а как от этого DI спасет?
Обсуждают сегодня