# Наблюдатель

Поведенческий паттерн проектирования, который создаёт механизм подписки, позволяющий одним объектам следить и реагировать на события, происходящие в других объектах.

При использовании паттерна возможен как [запрос](request/), так и [активная доставка](delivery/) данных от субъекта (запрос считается более "правильным").

- **Активная доставка** - передача субъектом аргументов в качестве параметров функции `update()`
- **Запрос** - подразумевает получение необходимых параметров от субъекта внутри функции `update()`

## Принципы

- Стремиться к слабой связанности взаимодействующих объектов

## Схемы

![scheme-1](scheme-1.png)
