Software Architecture · Cluster

Architectural Styles

Layered, event-driven, and plugin designs.

  1. 01 Layered Architecture and the Cost of Strict Layer Isolation How an allowed-to-use relation constrains a layered system to one dependency direction, what sink layers permit, and what every pass-through boundary charges in mapping code. foundational · Jun 27, 2026
  2. 02 Ports and Adapters and the Direction of the Dependency Arrow Why a hexagonal boundary is an interface owned by the application core rather than by the framework, and how driving and driven adapters differ in who initiates the call. foundational · Aug 6, 2026
  3. 03 Event Notification and Event-Carried State Transfer Compared Two events can carry the same name and different obligations: one says a fact changed and leaves the state behind, the other carries the state. The choice sets coupling, ordering needs, and deduplication cost. foundational · Sep 4, 2025
  4. 04 Microkernel Architecture and the Stability of Plugin Extension Points A plugin system is a contract that outlives the code on both sides of it. Extension-point shape, discovery, lifecycle ordering, and isolation determine what can change without breaking installed extensions. intermediate · Aug 13, 2025
  5. 05 Pipes and Filters and the Contract Between Stages A filter knows its input and its output and nothing else. Record framing, bounded buffering, end-of-stream propagation, and error policy are what make that independence real or nominal. intermediate · Jun 14, 2025
  6. 06 CQRS and the Consistency Window Between Writes and Read Models Separating the write model from query models buys shape and contention relief, and pays for it with a lag the user can observe. Checkpoints, version tokens, and read-your-writes routing decide whether that lag is tolerable. intermediate · Jul 28, 2023
  7. 07 Event Sourcing and the Append-Only Log as System of Record Storing the sequence of facts instead of the current state changes what a write has to prove, how a snapshot is defined, and why an event schema cannot be changed once it has been written. intermediate · Apr 1, 2023
  8. 08 Actor Mailboxes, Supervision, and the Limits of Location Transparency An actor owns its state and processes one message at a time, which removes data races but not unbounded queues. How supervision trees, delivery guarantees, and selective receive shape real behaviour. advanced · Feb 16, 2026
  9. 09 Space-Based Architecture and the In-Memory Data Grid Removing the shared database removes the contention and makes memory the capacity limit. Replication windows, eviction, and write-behind persistence decide how much data loss the style concedes. advanced · Dec 18, 2024
  10. 10 Serverless Execution and the Per-Event Invocation Model When the unit of deployment is a single event handler, lifecycle, concurrency, and retries stop being operational details and become the architecture. What the invocation model gives and what it takes away. advanced · Oct 20, 2025