Padrão Observer

Veja o exemplo abaixo:

Temos um Publisher que publicará os dados.

Esses dados serão trocados por streams (fluxos de dados).

A partir dessas streams, conseguimos manusear esses dados concatenando, por exemplo, com outras streams.

E também teremos o Subscriber (outra entidade). Esse Subscriber irá se inscrever e quando essa stream tiver pronta, o Subscriber irá CONSUMIR essa stream.

A ideia de trabalhar com Publisher e Subscriber é permitir que o usuário se inscreva e assim que a informação estiver disponível, o mesmo é notificado, podendo então consumir este dado.

Um ótimo exemplo disso, é o Youtube com suas livestreams. Imagine que o Professor Nélio vá fazer uma live em uma quinta-feira. Você pode ir até o YouTube e clicar no botão "Receber notificações".

O Youtube do professor Nélio neste caso, é o Publisher (publicará este evento, onde o mesmo ficará disponível) e nos notificará. Onde assim, podemos notificar (acessar) essa live.

Atualizado