🏛️ 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. |