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

DDD

Cloud & Microservices Patterns

Quality Attributes & Principles

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.