Junior — Middle
Какво е патърнът Singleton и какви са предимствата и недостатъците, които трябва да се вземат предвид?
sobes.tech AI
Отговор от AI
Шаблонът Singleton гарантира, че даден клас има само един екземпляр и предоставя глобален достъп до него.
Предимства:
- Контрол върху създаването на единствения обект.
- Удобство при достъп до споделени ресурси или настройки.
Недостатъци:
- Може да доведе до проблеми при тестване поради глобалното състояние.
- Нарушава принципите на инверсия на зависимостите и може да усложни поддръжката.
- В многонишкови среди изисква допълнителна синхронизация.
Пример в Swift за iOS:
class Singleton {
static let shared = Singleton()
private init() { }
func doSomething() {
print("Изпълнение на действие")
}
}
// Използване
Singleton.shared.doSomething()