Вопрос проверяет понимание поведенческих паттернов и принципов реактивного взаимодействия между объектами.
Observer — это паттерн, при котором один объект уведомляет другие объекты об изменениях своего состояния. Подписчики не опрашивают источник, а получают события автоматически. Это снижает связанность между объектами. Источник не знает деталей реализации подписчиков. Такой подход широко используется в iOS.
Паттерн Observer позволяет организовать реакцию на события.
Observer — поведенческий паттерн, в котором объект-источник уведомляет подписчиков об изменениях.
В паттерне участвуют:
Observable — источник событий
Observer — подписчик
Событие — факт изменения состояния
Перед тем как произошло событие, наблюдатели регистрируются у источника.
Когда состояние меняется, источник уведомляет всех подписчиков.
NotificationCenter
KVO
target–action
Combine
Observer позволяет строить реактивные системы и уменьшать связанность между компонентами. Это один из самых часто используемых паттернов в iOS-разработке.