Cheat sheetFND-04

Architectural Patterns & Styles

Foundations / Architectural Patterns & Styles

A style is the overall shape of a system. Split monolithic vs distributed. No style wins in the abstract — each is a bundle of trade-offs.

layered
Layered / modular monolithMonolithic. Layered is simple, cheap, but scales poorly. Modular monolith adds domain modules while keeping one deployment.
microkernel
Microkernel (plug-in)Minimal core + plug-ins. Best for product extensibility and customization.
event
Event-drivenAsync events (broker/mediator). High scalability, performance, fault tolerance; hard to test and trace.
microservices
Microservices / space-basedMicroservices: scalability + deployability at high complexity. Space-based: extreme elasticity via in-memory units, no central DB in path.

Rank the driving characteristics first, then match a style's trade-off profile. Expect to blend styles rather than force one everywhere.

Fit over fashionA 50-user internal tool -> layered. A spiky real-time bidding subsystem -> event-driven / space-based.
Microservices mythNot 'modern therefore better' — a trade of simplicity and performance for scalability and deployability.
Split: monolithic vs distributed
Layered=simple, EDA=elastic, microservices=scalable+complex
Choose by driving characteristics; blend styles
styleslayeredmicroservicesevent-drivenspace-basedtrade-offs
review in 6d