Reactive design patterns exist to provide system architects, engineers, and developers with the ability to create systems that are, at their core, responsive and scalable. Using a reactive design pattern helps ensure that a system will be both maintainable and able to react to external changes such as resource changes and new connectivity. One of the goals of creating systems with one of these design patterns was to avoid redesigning the system because it was not responsive to change.
The concept of designing systems that are reactive to change can be considered an approach to future-proofing a system. We want, as much as possible, to design our systems so they can react to events and changes for the foreseeable future.
Reactive design patterns were generated from reactive programming and documented in the form of a Reactive Manifesto. This...