Subjects
A subject
class is an observable sequence that is an observer too. A subject may produce and consume values; in other words, it is a value publisher and a value subscriber.
In real-world reactive applications, there are various (some times hundreds) subjects interacting with each other.
In the previous section, when we saw the merge
operation in the marble diagram, we pressed two sequences into another one to give us the ability to subscribe an Observer
to the new merged sequence. This merged sequence is a subject because it receives values from the nonmerged sequences and then produces values to the related observer.
This is only an example of the infinite subjects available in any application.
A subject
class gives us the ability to create sequences or observers without having to always create a specific class and implement the relative interface, as seen in the previous examples with pure C# coding. Here is an example:
//a new sequence var s = new Subject<string>(); //subscribe...