Я нахожусь на ранних этапах изучения Rx и наткнулся на класс Subject. Я не совсем понимаю, почему этот класс существует. Я понимаю, что он реализует как IObservable, так и IObserver, но для чего используются субъекты?
Насколько я могу судить, они могут действовать как прокси между источником и группой подписчиков, но не могут ли подписчики просто подписаться непосредственно на источник? Когда я вижу экземпляры Subject, используемые в качестве наблюдаемого и наблюдателя, я путаюсь.
Я уверен, что просто не улавливаю некоторые основные факты, но я не знаю, что Субъект привносит в игру. Думаю, я ищу какой-то базовый (но, надеюсь, реальный) пример того, когда субъекты полезны, а когда нет (поскольку я также читал, что субъекты обычно не используются, заменены на Observable.Create).