Вопрос проверяет понимание ролей участников паттерна Observer и их ответственности.
Observer — это объект, который получает уведомления об изменениях. Observable — это объект, который хранит состояние и рассылает уведомления. Observer подписывается на события Observable. Observable не знает деталей реализации Observer. Это разделение ролей делает систему гибкой.
Разница между Observer и Observable заключается в их ролях.
Observable:
хранит состояние
управляет списком подписчиков
рассылает уведомления
Observer:
подписывается на события
реагирует на изменения
не влияет на других подписчиков
Чёткое разделение ролей:
снижает связанность
упрощает расширение
облегчает тестирование
Observer и Observable — это две стороны одного паттерна. Понимание их ролей помогает правильно реализовывать событийную модель в приложении.