Встречается на собеседованиях • сегодня

Что такое паттерн Observer

Паттерн Observer (Наблюдатель) — это поведенческий паттерн, который определяет зависимость "один-ко-многим" между объектами. Когда один объект (субъект) изменяет своё состояние, все зависимые объекты (наблюдатели) автоматически уведомляются и обновляются.

Пример на Python:

python
class Subject:
    def __init__(self):
        self._observers = []
text
def attach(self, observer):
    self._observers.append(observer)

def detach(self, observer):
    self._observers.remove(observer)

def notify(self, message):
    for observer in self._observers:
        observer.update(message)

class Observer:
def update(self, message):
print(f"Received: {message}")

subject = Subject()
observer1 = Observer()
observer2 = Observer()

subject.attach(observer1)
subject.attach(observer2)
subject.notify("Hello Observers!")

text

**Применение:**
- Уведомления о событиях (GUI, серверные системы)
- Реактивное программирование
- Развязка компонентов системы

Паттерн обеспечивает слабую связанность между субъектом и наблюдателями.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы