The design pattern movement started at a time when the World was struggling to come to terms with complexities of object-oriented software design methods. The GoF book and the associated pattern catalog gave developers a set of techniques for designing large-scale systems. Topics such as concurrency and parallelism were not in the minds of the people who designed the catalog. (At least, their work did not reflect this!)
We have seen that event handling through the classic Observer pattern has some limitations, which might be a problem in some cases. What is the way out? We need to take a fresh look at the problem of event handling by taking a step back. We will digress into the subject of philosophy a bit to have a different outlook on the problem that the reactive programming model (programming with Observable Streams!) is trying to solve. Our...