Что такое паттерн Observer и как его реализовать?

Middle
246 просмотров
AFK Offer AI

Observer — подписка на события. Subject хранит список observers, при изменении состояния вызывает notify(). Observer реализует метод update(). В Python можно через list callbacks: self._listeners.append(callback), при событии — for cb in self._listeners: cb(data). Или через signals (blinker, django.dispatch). Ещё вариант — property с setter, который триггерит уведомления. asyncio тоже поддерживает — Event, Queue для async observer. Используется в GUI, event-driven архитектурах, pub/sub системах.

Следующий вопрос

Что такое namedtuple и когда его использовать?