/software-architecture

A collection of awesome software, libraries and frameworks, design and architecture principles, books and videos, important resources and best practices about Software Development & Architecture. Thanks to our daily readers and contributors. The goal is to build a categorized community-driven collection of very well-known resources. Sharing, suggestions and contributions are always welcome!

Apache License 2.0Apache-2.0

Software Development Architecture

A collection of awesome software, libraries and frameworks, design and architecture principles, books and videos, important resources and best practices about Software Development & Architecture. Thanks to our daily readers and contributors. The goal is to build a categorized community-driven collection of very well-known resources. Sharing, suggestions and contributions are always welcome!

Table of Contents

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.