🏛️ Software Architecture Patterns: Sub-Curriculum Index

Welcome to the Software Architecture Patterns curriculum. This track covers structural system design patterns, distributed decoupling paradigms, enterprise multi-tenancy, cloud-native operational models, and dependency analysis.

Every guide in this series strictly follows a two-part learning format:

  • ⚡ Quick Dive: Architecture cheat sheets, pattern selection tables, and trade-off matrices.
  • 📖 Extended Guide: Deep structural blueprints, sequence flows, failure modes, and code examples.

📚 Curriculum Roadmap

# Guide Primary Topics Covered
01 The Twelve-Factor App Methodology The 12 factors for building cloud-native, scalable, and maintainable applications.
02 Software Architecture Patterns Layered, Hexagonal / Onion, Microkernel, Clean Architecture, and Domain-Driven Design (DDD).
03 Software Architecture Roadmap Progressive engineering roadmap from monolithic systems to modular distributed platforms.
04 Event-Driven Architecture (EDA) Event producers, consumers, brokers, choreographies vs. orchestrations, and event topologies.
05 CQRS Architecture Command Query Responsibility Segregation, read/write model decoupling, and eventual consistency.
06 CRUD Systems vs. Event Sourcing State-based mutation vs. append-only immutable event streams, temporal queries, and audit trails.
07 Cell-Based Architecture Fault isolation boundaries, autonomous deployment cells, routing layers, and blast-radius minimization.
08 Sidecar Pattern Co-located helper processes, service mesh proxies (Envoy), logging/monitoring sidecars, and lifecycle management.
09 Stateless Architecture Stateless application tier design, externalizing session state to distributed caches, and horizontal scaling.
10 Data Lake & Lakehouse Architecture Data lakes, warehouses, Delta Lake / Iceberg lakehouses, ETL vs. ELT pipelines, and data governance.
11 Coupling, Cohesion, and Connascence Module interdependency, cohesion types, and analyzing architectural coupling across microservices.
12 Deep Dive into Connascence Static vs. Dynamic connascence: Name, Type, Meaning, Position, Algorithm, Execution, Timing, and Values.
13 Multithreading & Concurrency Patterns Thread pools, Producer-Consumer, Reader-Writer locks, Actor model, and avoiding deadlocks/race conditions.
14 Feature Flags & Progressive Exposure Runtime feature toggles, canary rollout flags, kill switches, and technical debt retirement.
15 Semantic Versioning (SemVer) Major.Minor.Patch rules, breaking change policies, pre-releases, and dependency management.
16 Architectural Data & Communication Flows Request-Response, Publish-Subscribe, Pipe-and-Filter, and Saga distributed transaction flows.
17 Network Communication Methods Synchronous vs. asynchronous communication, polling, long polling, SSE, WebSockets, and gRPC streaming.