Этот вопрос проверяет знание паттернов проектирования уровня классов, используемых в iOS разработке.
Часто используемые классовые паттерны: Singleton, Factory, Decorator, Adapter, Observer. Например, Singleton для shared instance, Factory для создания объектов, Decorator для добавления поведения.
Паттерны уровня классов оперируют отношениями между классами и объектами.
1. Singleton:
Гарантирует один экземпляр класса.
Пример: URLSession.shared.
2. Factory:
Инкапсулирует создание объектов.
Пример: DateFormatter style-based creation.
3. Decorator:
Добавляет поведение объектам динамически.
Пример: Decorator pattern через extensions.
4. Adapter:
Адаптирует интерфейс класса к другому интерфейсу.
Пример: Wrapping a third-party library.
5. Observer:
Уведомляет об изменениях.
Пример: NotificationCenter.