This is the foundations page for the parent topic. Before you read about the five styles, you must be able to see what a "module", a "dependency", "coupling", a "process", and an "event" actually are. We build each from a picture, then explain why the topic can't move without it.
Before any architecture, we need the thing we are drawing boundaries around.
The picture: a labelled box. Nothing more. Whether the box is 10 lines or 10,000, architecture treats it the same way — as one thing with a boundary and a name.
Why the topic needs it: every style below is a rule about how boxes may be arranged and connected. Layered stacks boxes vertically; microservices scatter them across a network. If "box" isn't clear, none of that is.
Boxes are useless alone. They talk. When box A calls a function inside box B, or reads B's data, we say A depends on B.
Why the topic needs it: the layered rule "arrows point downward only" and the event-driven idea "producers don't point at consumers" are both statements about arrows. You literally cannot read the topic without this arrow in your head.
Now we can measure whether an arrangement of boxes-and-arrows is good. Two words do all the work — see Coupling and Cohesion for the full treatment.
Why the topic needs it: the parent says "every architecture style is a strategy to lower coupling while keeping cohesion high." These two words are the scoreboard every style is trying to win.
Boxes are code at rest. To run, code lives inside a process.
Why the topic needs it: the entire Monolith-vs-Microservices table (one deploy unit vs many, shared database vs per-service) is about how boxes are packed into processes. No "process", no table.
The event-driven, microservices, and serverless sections all share one small cast of characters.
Now that producers and consumers have names, we can count them. Let us give the counts symbols.
Why the topic needs it: this exact fan-out formula appears in the parent's event-driven section. It is the quantitative reason to prefer a broker, and it rests entirely on the producer/consumer/broker picture above.
The parent uses two more phrases in its "mistake" callouts. You only need to recognise them here.
Eventual consistency — when data is copied across independent services, they may briefly disagree, then agree "eventually." Full treatment in Eventual Consistency.
Conway's Law — a system's structure ends up mirroring the communication structure of the org that built it; this is why microservices map to teams. See Conway's Law.