Патерни проєктування · Junior · Запитання 4 з 75
Чому Singleton часто називають антипатерном?
- ✓Правильна відповідь: Він вносить прихований глобальний стан і ускладнює тестування
- 2Він потребує забагато пам'яті для зберігання екземплярів
- 3Його неможливо реалізувати в JavaScript без класів
Пояснення
Код, що звертається до синглтона напряму, неявно від нього залежить: тести впливають один на одного, підмінити реалізацію складно. Компроміс - створювати один екземпляр, але передавати його явно (впровадження залежностей), щоб у тестах підставляти мок.