What is event driven architecture?

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.

A deeper understanding

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.


@Árpád Barta
Reminder for my self and maybe others about things that I have already bumped into, or just discovered ...