awesome-software-architecture icon indicating copy to clipboard operation
awesome-software-architecture copied to clipboard

🚀 A curated list of awesome articles, videos, and other resources to learn and practice software architecture, patterns, and principles.

Awesome Software Architecture
build-status awesome license

Curated list of awesome articles and resources to learn and practice software architecture, patterns and principles. This repository will be updated continuously, keep yourself up to date .

I created this repository to share a set of links that I found valuable and inspiring and I share them with others to improve our knowledge together ✌️.

🚀 Go ahead to the official web page here: https://awesome-architecture.com


Contents

  • Software Architecture
  • Actor Model Architecture
  • Algorithms
  • Clean Architecture
  • Onion Architecture
  • Hexagonal Architecture
  • Vertical Slice Architecture

Note: Above table of contents is not complete yet and it's in progress, full resources currently is available on the official web page: https://awesome-architecture.com

Software Architecture

Topic Description
Software Architecture Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems.

Actor Model Architecture

Topic Description
Actor Model Architecture The Actor Model is a programming paradigm in which the basic unit of execution is the actor. In the Actor Model, an actor does work by using messages to express actions upon a system or other actors within the given system
Akka .NET Akka.NET is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on .NET.
Actor Model Actor model is a reactive programming paradigm which enables us to make reactive systems which follow reactive principles.
Microsoft Orleans Orleans is a cross-platform framework for building robust, scalable distributed applications.
ProtoActor Ultra fast distributed actors for Go, C# and Java/Kotlin.

Algorithms

Topic Description
Algorithms An algorithm is a procedure used for solving a problem or performing a computation.

Clean Architecture

Topic Description
Clean Architecture The Clean Architecture is the system architecture guideline proposed by Robert C. Martin (Uncle Bob) derived from many architectural guidelines like Hexagonal Architecture, Onion Architecture, etc...

Onion Architecture

Topic Description
Onion Architecture The Onion architecture, introduced by Jeffrey Palermo, and it is a form of layered architecture and we can visualize these layers as concentric circles.

Hexagonal Architecture

Topic Description
Hexagonal Architecture The Hexagonal Architecture or Ports and Adapters architecture, introduced by Alistair Cockburn and it's an architectural pattern that allows input by users or external systems to arrive into the Application at a Port via an Adapter, and allows output to be sent out from the Application through a Port to an Adapter.

Vertical Slice Architecture

Topic Description
Vertical Slice Architecture The vertical slice architecture is a technique that helps us build maintainable applications by separating the application around features or vertical slices.

🙏 Special Thanks

Thanks to the authors of the links for their valuable content, I gather them in one place for finding topics to read easier.

⭐ Support

If you like, feel free to ⭐ this repository, it helps out :)

Thanks a bunch for supporting me!

🤝 Contribution

Contributions are always welcome! Please take a look at the contribution guidelines pages first.

Thanks to all contributors, you're awesome and this wouldn't be possible without you! The goal is to build a categorized community-driven collection of very well-known resources.