Awesome Software Architecture (Curated List)
GitHub repository by Mehdi Hadeli: a comprehensive curated list of articles, videos, books, and other resources for learning software architecture patterns and principles. Available at https://github.com/mehdihadeli/awesome-software-architecture and https://awesome-architecture.com.
Summary
A continuously updated reference organized into ~60 topic categories. Each topic has a dedicated page listing articles (with star ratings for most valuable), videos, books, and code samples. The repository focuses on .NET-ecosystem implementations but the architectural concepts are language-agnostic.
Key Arguments
- Architectural knowledge should be accessible in one organized place.
- Practical, code-linked resources are more valuable than abstract theory alone.
- Both strategic (architecture) and tactical (design patterns) knowledge are needed.
Concepts Covered
Architectural Styles
- Clean Architecture, Hexagonal Architecture, Onion Architecture, Layered Architecture
- Vertical Slice Architecture, Modular Monolith
- Microservices Architecture, Service-Oriented Architecture
- Event-Driven Architecture, CQRS, Event Sourcing
- Actor Model Architecture
DDD
Cloud & Microservices Patterns
- Saga Pattern, Circuit Breaker Pattern, Outbox Pattern, Inbox Pattern
- Sidecar Pattern, Service Mesh, API Gateway Pattern
- Strangler Fig Pattern, Anti-Corruption Layer Pattern
- Backend for Frontend Pattern, Ambassador Pattern
- Bulkhead Pattern
Quality Attributes & Principles
- Observability, Distributed Tracing, Resiliency Patterns
- Idempotency, Backpressure, Eventual Consistency
- CAP Theorem, Distributed Transactions
Architectural Principles
- SOLID, DRY, KISS, YAGNI, GRASP
- Dependency Inversion, Inversion of Control
- Cohesion, Coupling, Encapsulation
- Fail Fast, Persistence Ignorance
Quality Notes
- High quality: extensively maintained, community-contributed, star ratings on best resources.
- .NET-centric examples but architectural content is universal.
- The official web site (awesome-architecture.com) provides better navigation than the raw GitHub markdown.
- Individual topic pages serve as index pages with curated links; detailed content lives in the linked articles.