
Опасности чрезмерного использования синглтонов: когда глобальное государство наносит ответный удар
Представьте: вы плавно плывёте по своей кодовой базе, как вдруг — чмок — скрытое глобальное состояние топит ваш проект. Таков паттерн Singleton: «Челюсти» в мире проектирования программного обеспечения. Хотя он обещает контролируемый доступ, часто он затягивает ваш код в мутные воды скрытых зависимостей и кошмаров тестирования. Давайте разберёмся, почему этот «удобный» паттерн может стать вашим худшим кошмаром. Песнь сирен синглтонов Синглтоны соблазняют нас сладкими обещаниями: «Только один экземпляр, честное слово!» (как банка с печеньем с надписью «только для персонала») Глобальная точка доступа (эквивалент разработчика, когда ключи от машины оставляют в замке зажигания) Отложенная инициализация (прокрастинация, замаскированная под оптимизацию) Вот тот соблазнительный скелет на JavaScript, который мы все писали:...