April 02, 2018
According to wikipedia:
Event-driven architecture (EDA) is a software architecture paradigm promoting the production, detection, consumption of, and reaction to events.
And here is the short definition of event:
An event can be defined as “a significant change in state”.
Although the article goes into more details such as “simplifies horizontal scalability in distributed computing”, this is the gist of it.
If I were to translate it to plain english it would be something like:
A design which primarily relies on the notification of state changes to perform its duty.
This definition seems to be way to simplistic compared to all of the things that this pattern supposed to help us achieve. Which is generally a sign that we oversimplified things or we just simply do not understand it well enough. There are many patterns that fall un under the event driven design, based on Martin Fowlers definition these are the main ones:
Martin Fowlers and Graham Brooks went into great details and did an excellent job at explaining these, links are added to their related posts.