From Wikipedia:
The observer pattern is a software design pattern in which an object, called the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods.
Это определение ясно, когда применяется к событиям, используемых в пользовательских интерфейсах: вы соблюдаете щелчки кнопок, предоставляя обработчик событий, который кнопка вызовов, когда она нажата. В этом случае кнопка является наблюдаемой, которая уведомляет несколько наблюдателей в виде обработчиков событий.
Применительно к реактивному программированию наблюдаемый - это всего лишь поток событий, которые вы можете подписаться, т. Е. Наблюдать. Подумайте об этом как о трубе, через которую проходят события и что вы можете заглянуть в нее. Вы делаете это, наблюдая за потоком и обрабатывая те события, которые вам интересны. Кроме того, операции могут выполняться поверх потоков - например, слияние потоков паролей в новый.
Как публикация событий в потоке, так и обработка этих событий - ваш наблюдатель, который их обрабатывает, - могут выполняться асинхронно, что повышает масштабируемость.
Подобные понятия являются те из сообщений, тематике и абонентов: некоторые заинтересованные стороны могут публиковать сообщения в тему, к которой многие различные заинтересованные стороны могут подписаться. Соответственно, это будет соответствовать событиям, наблюдаемому событию потока и наблюдателям.
Microsoft использует термины наблюдатель и Наблюдаемые в то время как в некоторых других реактивных структур они могут использовать другие термины. Getting started от Introduction to Rx может помочь вам прояснить эти концепции, а вся книга - бесплатный драгоценный камень. Обратите внимание, что эта книга предпочитает использовать термин последовательность, чтобы обратиться к потоку событий.
I would imagine that it's just, anything that could be observed in the data stream.
Это верно. Фактически, в Microsoft Rx
, основным ядром являются только два интерфейса интерфейса, определяющие контракт между наблюдателями и наблюдаемыми, остальное в значительной степени абстрагируется.