awesome-software-architecture
A curated list of awesome articles and resources to learn and practice about software architecture, patterns, and principles.
https://github.com/yasir2000/awesome-software-architecture
Last synced: 5 days ago
JSON representation
-
Architectural Patterns
-
Domain Driven Design - Domain Centric
- Domains and Subdomains
- Bounded Context
- Tackling Complexity in the Heart of DDD - Vladik Khononov
- Domain Driven Design re-distilled
- A Basic Intro to Domain-Driven Design
- DDD and avoiding CRUD
- Experiences Going From Data-Driven Development to Domain-Driven Design
- Data Points - Coding for Domain-Driven Design: Tips for Data-Focused Devs
- Data Points - Coding for Domain-Driven Design: Tips for Data-Focused Devs, Part 2
- Data Points - Coding for Domain-Driven Design: Tips for Data-Focused Devs, Part 3
- The Outbox Pattern - Kamil Grzybek
- Domains and Subdomains
- Domain-Driven Architecture Diagrams
- 3 things that will make or break your project
- PPPDDD.1 – What is Domain Driven Design? - Herberto Graca
- https://contextmapper.org
- Implement value objects
- The hidden value of the Value Object
- Value Object: a better implementation - Vladimir Khorikov
- C# 9 Records as DDD Value Objects - Vladimir Khorikov
- Entities, Value Objects, Aggregates and Roots
- Improved Support for Value Objects with EF Core 2.2
- Value Object
- Owned Entity Types
- DTO vs Value Object vs POCO - Vladimir Khorikov
- Value Objects explained - Vladimir Khorikov
- Hierarchy of value objects - Vladimir Khorikov
- Nesting a Value Object inside an Entity - Vladimir Khorikov
- Representing a collection as a Value Object - Vladimir Khorikov
- Entity vs Value Object: the ultimate list of differences - Vladimir Khorikov
- Treating Primitive Obsession with ValueObjects | DDD in .NET
- The Power of Value - Power Use of Value Objects in Domain Driven Design - Dan Bergh Johnsson
- Always-Valid Domain Model - Vladimir Khorikove
- Domain Model Encapsulation and PI with Entity Framework 2.2 - Kamil Grzybek
- Attributes of Clean Domain Model - Kamil Grzybek
- Are CQRS commands part of the domain model? - Vladimir Khorikove
- Domain model purity vs. domain model completeness - Vladimir Khorikove
- Seedwork (reusable base classes and interfaces for your domain model) - Microsoft
- Implement a microservice domain model with .NET - Microsoft
- Domain Command Patterns - Validation - Jimmy Bogard
- Domain Command Patterns - Handlers - Jimmy Bogard
- Strengthening your domain: a primer
- Persistence model and domain anemia
- The Anemic Domain Model Pattern
- How to create fully encapsulated Domain Models
- Context is King: Finding Service Boundaries
- Defining Service Boundaries by Splitting Entities
- BoundedContext
- Bounded Context
- Context is King | Finding Service Boundaries Talk
- Defining Service Boundaries by Splitting Entities
- Domain services vs Application services - Vladimir Khorikove
- Implement the microservice application layer using the Web API - Microsoft
- How to publish and handle Domain Events - Kamil Grzybek
- Domain Events – Salvation
- Strengthening your domain: Domain Events - Jimmy Bogard
- Don't publish Domain Events, return them!
- A better domain events pattern - Jimmy Bogard
- Domain events: simple and reliable solution - Vladimir Khorikove
- Domain Events Pattern Example
- Domain events: design and implementation - Microsoft
- Implementing event-based communication between microservices (integration events) - Microsoft
- PPPDDD.2 – Distilling the Problem Domain - Herberto Graca
- PPPDDD.3 – Focusing on the Core Domain - Herberto Graca
- Domains and Subdomains
- Events on the outside, on the inside and at the core
- A Brief Intro to Clean Architecture, Clean DDD, and CQRS - Jacobs Data
- A Template for Clean Domain-Driven Design Architecture - Jacobs Data
- Domains and Subdomains
- Bounded Context
- Domains and Subdomains
- kimcu-on-thenet/ddd-net-ef-core
- practical-clean-ddd
- ddd-and-eventsourcing-example
- VirtoCommerce/vc-module-customer
- nguyentrucxinh/AspNetCore-DDD
- Domain-Driven Design Starter Modelling Process - ddd-crew
- Domains and Subdomains
- eShopOnContainers
- kimcu-on-thenet/ddd-net-ef-core
- blog-core - Thang Chung
- ddd-guestbook - Steve Smith
- DDD-starter-dotnet
- ChristDDD
- library
- Aggregates.NET
- eShopOnContainersDDD
- educational-platform
- coolstore-moduliths
- Trill-modular-monolith
- Confab-training
- coolstore-microservices
- grandnode/grandnode
- smartstore/SmartStoreNET
- smartstore/Smartstore
- VirtoCommerce/vc-storefront
- VirtoCommerce/vc-platform
- nopSolutions/nopCommerce
- trueai-org/module-shop
- nguyentrucxinh/AspNetCore-DDD
- falberthen/EcommerceDDD
- eventflow/EventFlow
- milannankov/EfCoreValueObjects
- Value
- ValueOf
- WrapperValueObject
- Qowaiv
- Domain Command Patterns - Validation - Jimmy Bogard
- Domain Command Patterns - Handlers - Jimmy Bogard
- Bounded Context
- Domains and Subdomains
- Domains and Subdomains
- A Basic Intro to Domain-Driven Design - Jacobs Data
- Strategic Domain-Driven Design
- Domain-centric vs data-centric approaches to software development
- Domain-Driven Design: What is it and how do you use it?
- Data Points - Coding for Domain-Driven Design: Tips for Data-Focused Devs
- Data Points - Coding for Domain-Driven Design: Tips for Data-Focused Devs, Part 2
- Data Points - Coding for Domain-Driven Design: Tips for Data-Focused Devs, Part 3
- Domain Centric Architecture ve Domain Driven Design
- Scaffold Your Clean DDD Web Application - Part 6: Domain-Driven Design Workflow Patterns
- 3 things that will make or break your project
- Java EE: Design Patterns and Architecture
-
Microservices
- reverse-proxy
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- Creating a simple data-driven CRUD microservice
- Cloud-Native learning resources for .NET developers
- Design a microservice-oriented application
- Microservices architecture: What the gurus say about it
- Microservices architecture style
- Securing Microservices with IdentityServer4, OAuth2 and OpenID Connect fronted by Ocelot API Gateway
- Saga Pattern: how to manage distributed transactions with microservices
- When to use the microservice architecture: part 1 - the need to deliver software rapidly, frequently, and reliably
- Why microservices: part 2 - the need for sustainable development
- Why microservices - part 3: two thirds of the success triangle - process and organization
- Why microservices - part 4: the last third of the success triangle: architectural requirements for rapid, frequent, reliable and sustainable development
- When to use the microservice architecture: part 5 - the monolithic architecture and rapid, frequent, reliable and sustainable software delivery
- A Microservices implementation journey — Part 1
- Microservices and Docker with .Net Core and Azure Service Fabric - Part One - ElvanyDev
- Microservices and Docker with .Net Core and Azure Service Fabric - Part two - ElvanyDev
- Microservices and Docker with .Net Core and Azure Service Fabric - Part three - ElvanyDev
- Microservices and Docker with .Net Core and Azure Service Fabric - Part four - ElvanyDev
- What are Microservices? Advantages and Disadvantages of Microservices Architecture
- Microservices Architecture on .NET with applying CQRS, Clean Architecture and Event-Driven Communication
- Best Practices for Building a Microservice Architecture
- Building microservices through Event Driven Architecture part1 : application specific business rules
- A Design Analysis of Cloud-based Microservices Architecture at Netflix
- Microservices Architectural Pattern - The TechCave
- Microservices Architecture and Implementation on .NET 5
- Architectural Patterns for High-Performance Microservices in Kubernetes
- GOTO 2020 • When To Use Microservices (And When Not To!) • Sam Newman & Martin Fowler
- GOTO 2021 • The Problem with Microservices • Dave Farley
- Microservices Architecture and Step by Step Implementation on .NET
- Use NoSQL databases as a persistence infrastructure
- A Microservices implementation journey — Part 1
- GOTO 2019 • 3 Common Pitfalls in Microservice Integration & How to Avoid Them • Bernd Rücker
- GOTO 2015 • Challenges in Implementing Microservices • Fred George
- GOTO 2020 • Beyond Microservices: Streams, State and Scalability • Gwen Shapira
- GOTO 2020 • Why GraphQL Between Microservices Is the Worst & Best Idea • Uri Goldshtein
- GOTO 2019 • Event-Driven Microservices, the Sense, the Non-sense and a Way Forward • Allard Buijze
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- A Microservices implementation journey — Part 1
- Enbiso.NLib
- Brighter
- dapr-tye-simple-microservices
- A Microservices implementation journey — Part 1
- Designing Loosely Coupled Microservices
- tye
- Rebus
- CAP
- MassTransit
- Brighter
- abp
- microdot
- Steeltoe
- Foundatio
- Enbiso.NLib
- knightbus
- Platibus
- MicroBus is a simple in process Mediator for .NET
- Mediator.Net
- Darker
- surging
- FamilyBucket
- Cysharp/MagicOnion
- practical-dapr - Thang Chung
- twzhangyang/RestAirline
- run-aspnetcore-microservices - AspNetRun
- run-aspnet-identityserver4 - AspNetRun
- ModernArchitectureShop - Bassam Alugili
- run-aspnet-grpc - AspNetRun
- coolstore-microservice
- shopping-cart-k8s
- ViennaNET
- MicroCouriers
- book-fast-service-fabric
- profjordanov/realworld-microservices
- A Microservices implementation journey — Part 1
- Awesome Microservices .NET Core - Mohammad Ebrahimi
-
Exceptions & Validation
- Domain Primitives: what they are and how you can use them to make more secure software
- REST API Data Validation - Kamil Grzybek
- Domain Model Validation - Kamil Grzybek
- Validation in a DDD world - Jimmy Bogard
- Validation in Domain-Driven Design (DDD)
- Validation and DDD - Vladimir Khorikove
- C# code contracts vs input validation - Vladimir Khorikove
- The fallacy of the always-valid entity - Jeffrey Palermo
- Exceptions for flow control in C# - Vladimir Khorikove
- Fail Fast principle - Vladimir Khorikove
- REST API response codes: 400 vs 500 - Vladimir Khorikove
- Functional C# Handling failures, input errors - Vladimir Khorikov
- Prefer Custom Exceptions to Framework Exceptions
- Error handling: Exception or Result? - Vladimir Khorikove
- What is an exceptional situation in code? - Vladimir Khorikove
- Validation and DDD
- Design the infrastructure persistence layer - Microsoft
- Implement the infrastructure persistence layer with Entity Framework Core - Microsoft
- Processing multiple aggregates – transactional vs eventual consistency - Kamil Grzybek
- Handling concurrency – Aggregate Pattern and EF Core - Kamil Grzybek
- Aggregate (Root) Design: Behavior & Data - CodeOpinion
- Aggregate (Root) Design: Separate Behavior & Data for Persistence - CodeOpinion
- Aggregate Design: Using Invariants as a Guide - CodeOpinion
- My Take On Domain Primitives - Sven Hübner
- Enumeration classes
- Use enumeration classes instead of enum types
- Introduction to Enumeration Classes
- Enumeration class and JSON Serialization
- Reference data as code
- AnemicDomainModel
- What is Anemic Domain Model and why it can be harmful? - Daniel Rusnok
- Tactical Domain-Driven Design - Vaadin
- Series: Enumeration Classes – DDD and beyond
- Design validations in the domain model layer - Microsoft
- Domain Primitives I: easily declaring domain primitives - Sven Hübner
- Anemic Model
- Listing Strongly Typed Enum Options in C#
- Strengthening your domain: Aggregate Construction
- Adding Aggregate Example to Clean Architecture solution template - Steve Smith
- Enum Alternatives in C#
- Domain Primitives: what they are and how you can use them to make more secure software
- Validation in Domain-Driven Design (DDD)
- GuardClauses
- SmartEnum
- Anemic Model x Rich Model
- Anemic Model
- What is Tactical Design ?
- What is Strategic Design ?
-
📹 Videos
-
Data Driven Design (Data Centric)
- Domain-centric vs data-centric approaches to software development
- Creating N-Tier Applications in C#, Part 1
- Domain Centric Architecture ve Domain Driven Design
- Domain-centric Architectures are Cool, but Why ?
- AVOID Entity Services by Focusing on Capabilities
- Clean Architecture : Part 1 – Database vs Domain
- AVOID Entity Services by Focusing on Capabilities
-
CQRS
- Java EE: Design Patterns and Architecture
- CQRS/MediatR implementation patterns - Jimmy Bogard
- CQRS Myths: 3 Most Common Misconceptions - CodeOpinion
- Dealing with Duplication in MediatR Handlers
- Implement reads/queries in a CQRS microservice - Microsoft
- Some thoughts on using CQRS without Event Sourcing
- Tackling Complexity in CQRS - Vladik Khononov
- From CQS to CQRS
- Building a robust CQRS database with EF Core and Cosmos DB
- CQRS facts and myths explained - Oskar Dudycz
- CQRS - Greg Young
- CQRS, Task Based UIs, Event Sourcing agh! - Greg Young
- Command Query Separation? - Greg Young
- Task-Based UI
- Exposing IQueryable in a CQRS Query Stack
- Reactive in practice, Unit 3: Translate the domain model to service APIs
- Reactive in practice, Unit 6: CQRS, Part 1 – Write side
- Reactive in practice, Unit 8: CQRS, Part 3 – ReadSideProcessor for transactions
- Meanwhile... on the command side of my architecture
- Meanwhile... on the query side of my architecture
- CQRS snippets
- CQRS Simple Architecture
- A .Net5 Sample Using CQRS(Command Query Responsibility Segregation) And MediatR Patterns
- Are CQRS commands part of the domain model?
- CQS with Database-Generated Ids
- CQRS Myths | 3 Most Common Misconceptions
- Is a REST API with CQRS Possible?
- CQRS Myths | 3 Most Common Misconceptions
- Simple CQRS implementation with raw SQL and DDD - Kamil Grzybek
- CQRS and exception handling
- When to validate commands in CQRS?
- EF Core – Combining SQL and NoSQL databases for better performance
- Moving from Controllers and Actions to Endpoints with MediatR - Steve Smith
- Decomposing CRUD to a Task Based UI
- MVC Controllers are Dinosaurs - Embrace API Endpoints - Steve Smith
- CQRS Myths | 3 Most Common Misconceptions
- gautema/CQRSlite
- CQRS
- vc-module-customer
-
Event Sourcing
- Projections in Event Sourcing: Build ANY model you want!
- Event Sourcing - Martin Fowler
- About event sourcing - eventuate.io
- Event Sourcing Example & Explained in plain English - CodeOpinion
- Event Sourcing with Azure SQL and Entity Framework Core
- Projections in Event Sourcing: Build ANY model you want!
- Reactive in practice, Unit 5: Event sourcing
- EVENT SOURCING MICROSERVICES PATTERN
- Event Sourcing Example & Explained in plain English
- Event Sourcing: Rehydrating Aggregates with Snapshots
- Event Sourcing with Azure SQL and Entity Framework Core
- eventstore webinars
- Reactive in practice, Unit 7: CQRS, Part 2 – ReadSideProcessor for queries and views
- What's an Event Driven System?
- Event Sourcing pattern - Microsoft
- Event Sourcing with Azure SQL and Entity Framework Core
-
Observibility
-
Dapr
-
Tye
-
Steeltoe
-
Library
- AggregateSource
- ProductContext-EventSourcing - commerce
- Projac
- Hands-On-Domain-Driven-Design-with-.NET-Core - Alexey Zimarev
-
Service Discovey
-
-
Architectural Style
-
Clean Architecture
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Clean Architecture: Standing on the shoulders of giants - Herberto Graca
- Clean architecture - Microsoft
- Layers in DDD microservices - Microsoft
- The Clean Architecture - Uncle Bob
- CQRS Translated to Clean Architecture
- Clean Architecture with .NET Core: Getting Started
- Clean Architecture : Part 2 – The Clean Architecture
- Asp.net core series 63 domain model architecture eShopOnWeb project analysis
- Analysis of Equinox open source project under asp.net core series 62 CQRS architecture
- Equinox open source projects analyzed under the framework CQRS
- Comprehensive understanding of domain model architecture combined with eShopOnWeb
- Clean Architecture - An Introduction
- Building ASP.NET Core Web APIs with Clean Architecture
- Clean Architecture for .NET Applications
- Clean architecture series — Part 3
- Hexagonal and Clean Architecture Styles with .NET Core (Reviewed)
- Adoption of Clean Architecture layers with modules
- Clean Architecture for ASP.NET Core Solution: A Case Study - NDepend
- How to implement the Clean Architecture?
- Implementing Clean Architecture - What is a use case?
- Implementing Clean Architecture - Make it scream
- Clean Testing - Clean Architecture with .NET Core - Jason Taylor - NDC Oslo 2020 - Jason Taylor
- Clean Architecture with ASP.NET Core 3.0 - Jason Taylor - Jason Taylor
- Clean Architecture with ASP.NET Core 2.1 - Jason Taylor
- Clean Architecture with ASP.NET Core with Steve "Ardalis" Smith (2020-06-01) - Steve Smith
- SLC.NET Presents: Steve Smith (@Ardalis) - Clean Architecture with ASP.NET Core - Steve Smith
- Tour of Microsoft's Reference ASP NET Core App eShopOnWeb - Steve Smith
- An Overview of eShopOnWeb, an ASP.NET Core Reference Application - Steve Smith
- Clean Architecture S02 - Ivan Paulovich
- Robert C Martin - Clean Architecture - Uncle Bob
- Gill CLEEREN: Clean architecture with ASP.NET Core | UCP2019 - Gill CLEEREN
- Adding Aggregate Example to Clean Architecture solution template - Steve Smith
- Project Template (nuget package)
- Project Template (visual studio extension)
- Get Your Hands Dirty on Clean Architecture
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- ASP.NET Core WebAPI – Clean Architecture
- Getting Started with Clean Architecture using ASP.NET Core – 01 - Gökhan Gökalp
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Getting Started with Clean Architecture using ASP.NET Core – 01 - Gökhan Gökalp
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Component Based Architecture
- Multiple ways of defining Clean Architecture layers
- ardalis/cleanarchitecture - Steve Smith
- techtribesje/techtribesje
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- blazorhero/CleanArchitecture
- Reddnet
- How to implement the Clean Architecture?
- Implementing Clean Architecture - What is a use case?
- Implementing Clean Architecture - Make it scream
- Clean Architecture with ASP.NET Core 2.1 - Jason Taylor
- Clean Architecture with ASP.NET Core with Steve "Ardalis" Smith (2020-06-01) - Steve Smith
- An Overview of eShopOnWeb, an ASP.NET Core Reference Application - Steve Smith
- Clean Architecture S02 - Ivan Paulovich
- Robert C Martin - Clean Architecture - Uncle Bob
- Gill CLEEREN: Clean architecture with ASP.NET Core | UCP2019 - Gill CLEEREN
- acobsDataSolutions/OrgManager - Jacobs Data
- jasontaylordev/CleanArchitecture - Jason Taylor
- EduardoPires/EquinoxProject - Eduardo Pires
- pereiren/dotnet-template-onion
- NNVTV/NetCore-Clean-Architecture - INNVTV
- pdevito3/craftsman
- gothinkster/aspnetcore-realworld-example-app
- dotnet-architecture/eShopOnWeb - Steve Smith
- matthewrenze/clean-architecture-demo - Matthew Renze
- jasontaylordev/NorthwindTraders - Jason Taylor
- mmacneil/CleanAspNetCoreWebApi - Mark Macneil
- ivanpaulovich/clean-architecture-manga - Ivan Paulovich
- Daniel-Krzyczkowski/CleanArchitectureWithDevSecOps - Daniel Krzyczkowski
- aspnetcorehero/Boilerplate - Mukesh Murugan
- fals/cqrs-clean-eventual-consistency - Filipe Augusto
- rafaelfgx/Architecture - Rafael Garcia
- kgrzybek/sample-dotnet-core-cqrs-api - Kamil Grzybek
- phongnguyend/Practical.CleanArchitecture
- aspnetrun/run-aspnetcore - AspNetRun
- aspnetrun/run-aspnetcore-cqrs - AspNetRun
- aspnetrun/run-aspnetcore-realworld - AspNetRun
- jacobduijzer/CleanArchitectureTemplate
- CanerPatir/aspnet-core-clean-arch
- thombergs/buckpal
- proudmonkey/ApiBoilerPlate
- DevBetterCom/DevBetterWeb
- Adoption of Clean Architecture layers with modules
- Clean Architecture - An Introduction
- Clean Architecture S02 - Ivan Paulovich
- Get Your Hands Dirty on Clean Architecture
-
Ports And Adapters Architecture (Hexagonal Architecture)
- Ready for changes with Hexagonal Architecture
- Ports & Adapters Architecture - Herberto Graca
- Hexagonal architecture - Alistair Cockburn
- Hexagonal (Ports & Adapters) Architecture - Tugce Konuklar
- Ready for changes with Hexagonal Architecture
- Hexagonal Architecture: the practical guide for a clean architecture - Beyond x Scratch
- Hexagonal Architecture Example: digging a Spring Boot implementation - Beyond x Scratch
- Hexagonal architecture: don't get lost on your right-side - Thomas PIERRAIN
- Ports and Adapters Pattern(Hexagonal Architecture)
- HEXAGONAL ARCHITECTURE - qwan
- SLICING YOUR CAKE - STRUCTURING YOUR HEXAGONS - qwan
- Hexagonal Architecture demystified
- Implementing Hexagonal Ports and Adapters Architectural Style
- Hexagonal Architecture Style - Ivan Paulovich
- Ports & Adapters architecture on example
- Hexagonal Architecture with Java and Spring
- Layers, Onions, Ports, Adapters: it's all the same
- Ready for changes with Hexagonal Architecture
- Hexagonal Architecture - Chris Fidao
- What is Hexagonal Architecture? - PHILIP BROWN
- Hexagonal != Layers
- Domain-Driven Design and the Hexagonal Architecture - Vaadin
- Hexagonal Architecture by example - a hands-on introduction
- Chris Fidao - Hexagonal Architecture
- Hexagonal, Onion, and Explicit Architecture with Elixir - Part 1
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Clean architecture series— Part 1
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Ready for changes with Hexagonal Architecture
- Hexagonal architecture - Alistair Cockburn
- Hexagonal architecture: don't get lost on your right-side - Thomas PIERRAIN
- Ready for changes with Hexagonal Architecture
- ivanpaulovich/hexagonal-architecture-acerola - Ivan Paulovich > An Hexagonal Architecture service template with DDD, CQRS, TDD and SOLID using .NET Core 2.0. All small features are testable and could be mocked. Adapters could be mocked or exchanged.
- Lunch-box/SimpleOrderRouting - boxers, to explore various technical approaches in reactive programming.
- Hexagonal (Ports & Adapters) Architecture - Tugce Konuklar
- Hexagonal Architecture demystified
- What is Hexagonal Architecture? - PHILIP BROWN
- Domain-Driven Design and the Hexagonal Architecture - Vaadin
-
Resources
- Multiple ways of defining Clean Architecture layers
- Package by component and architecturally-aligned testing
- The C4 Model
- Modular Monolith: A Primer
- PresentationDomainDataLayering
- Multiple ways of defining Clean Architecture layers
- Software Architecture vs Code
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- techtribes.je - containers
- techtribes.je - components
- Modular Monolith: A Primer
- Layers, hexagons, features and components
-
📹 Videos
-
Traditional N-Layer Architecture
- The Tyranny of Horizontal Architectures (and How You Might Escape): Part 1
- What is N-Tier Architecture? How It Works, Examples, Tutorials, and More
- Layered Architecture - Herberto Graca
- Layered/n-Tier Architectural pattern
- The Tyranny of Horizontal Architectures (and How You Might Escape): Part 1
- Traditional "N-Layer" architecture applications
-
Onion Architecture
- Onion Architecture: Part 4 – After Four Years - Jeffrey Palermo
- Clean architecture series — Part 2 - David Pereira
- Onion Architecture - Herberto Graca
- The Onion Architecture : part 1 - Jeffrey Palermo
- The Onion Architecture : part 2 - Jeffrey Palermo
- The Onion Architecture : part 3 - Jeffrey Palermo
- Understanding Onion Architecture - Code Guru
- A simple template for Onion Architecture with .NET 5 - David Pereira
- Peeling Back the Onion Architecture - Tony Sneed
- Distributed Onion Architecture - Fort Worth .Net User Group 8/20/2013 - Jeffrey Palermo
- Understanding Onion Architecture - Code Guru
- Onion Architecture In ASP.NET Core With CQRS – Detailed - CodeWithMukesh
- https://github.com/Amitpnk/Onion-architecture-ASP.NET-Core
- The Onion Architecture : part 1 - Jeffrey Palermo
- The Onion Architecture : part 2 - Jeffrey Palermo
- The Onion Architecture : part 3 - Jeffrey Palermo
-
Vertical Slice Architecture
- Package by Component with Clean Modules in Java - Tomas Tulka
- The Tyranny of Horizontal Architectures (and How You Might Escape): Part 2
- Organizing Code by Feature using Vertical Slices - CodeOpinion
- Vertical slices in ASP.NET MVC
- Coding: Packaging by vertical slice
- FEATURE FOLDERS IN ASP.NET MVC
- Evolutionary Project Structure - Jimmy Bogard
- Vertical Slice Example Updated to .NET 5 - Jimmy Bogard
- Feature Folders - Kamil Grzybek
- The life-changing (and time-saving!) magic of Feature Focused code organisation.
- Migrating Contoso University Example to Razor Pages - Jimmy Bogard
- API Feature Folders - Steve Smith
- Feature Slices for ASP.NET Core MVC - Steve Smith
- Simpler ASP.NET MVC Apps with Razor Pages - Steve Smith
- Out with the Onion, in with Vertical Slices
- No Abstractions in Vertical Slice Architecture?
- Encountering "Vertical Slice Architecture"... Is it incompatible with Clean Architecture?
- Vertical Slices - DevIQ
- What Are Your Thoughts On The Vertical Slice Architecture?
- Why I Recommend a Feature-Driven Approach to Software Design
- SOLID Architecture in Slices not Layers - Jimmy Bogard
- Vertical Slice Architecture - Jimmy Bogard - Jimmy Bogard
- SOLID Architecture in Slices not Layers - Jimmy Bogard
- Vertical Slice Architecture - Jimmy Bogard
- ardalis/ApiEndpoints/tree/master/sample - Steve Smith
- PacktPublishing/ASP.NET-Core-5-Design-Patterns/tree/main/C15/Vertical%20Slice%20Architecture
- DevTernity 2019: Jimmy Bogard – Vertical Slice Architecture - Jimmy Bogard
- Architecting for maintainability through Vertical Slices
- Why vertical slice architecture is better—if you know these few things - Jimmy Bogard
- ardalis/ApiEndpoints/tree/master/sample - Steve Smith
- How Vertical Slice Architecture fulfills Clean Architecture’s broken promises - Jimmy Bogard
- Why vertical slice architecture is better—if you know these few things - Jimmy Bogard
- The Tyranny of Horizontal Architectures (and How You Might Escape): Part 2
- Out with the Onion, in with Vertical Slices
- Vertical Slice Architecture - Jimmy Bogard
- jbogard/ContosoUniversityDotNetCore - Jimmy Bogard
- jbogard/ContosoUniversityDotNetCore-Pages - Jimmy Bogard
- dcomartin/MusicStore - CodeOpinion
- ardalis/OrganizingAspNetCore - Steve Smith
- Out with the Onion, in with Vertical Slices
- Package by Component with Clean Modules in Java - Tomas Tulka
- Architecting for maintainability through Vertical Slices
- Coding: Packaging by vertical slice
- FEATURE FOLDERS IN ASP.NET MVC
- Vertical Slice Example Updated to .NET 5 - Jimmy Bogard
- Feature Folders - Kamil Grzybek
- Migrating Contoso University Example to Razor Pages - Jimmy Bogard
- Feature Slices for ASP.NET Core MVC - Steve Smith
- Simpler ASP.NET MVC Apps with Razor Pages - Steve Smith
- Vertical Slices - DevIQ
- Why I Recommend a Feature-Driven Approach to Software Design
- An Atypical ASP.NET Core 5 Design Patterns Guide
-
Event Driven Architecture
- Event-driven architecture style
- Event-Driven Architecture - Herberto Graca
- 6 Event-Driven Architecture Patterns — Part 1
- 6 Event Driven Architecture Patterns — Part 2
- Event Driven Systems
- Developing a Successful End-to-End Complex Event Processing Strategy
- Event-Driven Architecture | EDA | Software Architectural Patterns - The TechCave
- Events on the outside, on the inside and at the core
- Event-Driven Architecture | Event-Driven VS Request-Driven Architecture, When Not To Use Events
- What are the benefits of event-driven architecture? | Example of Stripe Checkout payment fulfillment
- Core Decisions in Event-Driven Architecture - Duana Stanley
- Creating event-driven microservices: the why, how and what by Andrew Schofield
- Event Based Architecture: What do you mean by EVENT?
- GOTO 2020 • The Power of Event-Driven Systems without Burning your Hands or Budgets • Allard Buijze
- Event-Driven Architecture | EDA | Software Architectural Patterns - The TechCave
- Event Driven Collaboration - Lan Cooper
- Event-driven architecture style
- Journey to Event Driven – Part 2: Programming Models for the Event-Driven Architecture
- Journey to Event Driven – Part 3: The Affinity Between Events, Streams and Serverless
- Journey to Event Driven – Part 4: Four Pillars of Event Streaming Microservices
- Implementing event-based communication between microservices (integration events) - Microsoft
- Domain events: design and implementation - Microsoft
-
Service Oriented Architecture
-
🔖 Samples
-
-
Modeling
-
Relationships
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- What is the difference between IS -A relationship and HAS-A relationship in Java? [duplicate
- Types Of Relationships In Object Oriented Programming (OOP)
- Common types of OOP relationships and their UML representation
- Association, aggregation, and composition in OOP explained
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- UML Association vs Aggregation vs Composition
- What is the difference between IS -A relationship and HAS-A relationship in Java? [duplicate
- Types Of Relationships In Object Oriented Programming (OOP)
- Association, aggregation, and composition in OOP explained
- Data Modeling 101
- UML Notation
- UML Association vs Aggregation vs Composition
-
Class Diagram (Class Modeling)
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- UML 2 Class Diagramming Guidelines
- UML Class Diagram Tutorial with Examples
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- UML 2 Class Diagramming Guidelines
-
Data Model Notations
-
Use Case Diagram
-
ER Diagrams (Data Modeling)
- What to Look for in Your ER Diagram Tool
- Why Do You Need an ER Diagram?
- Getting Started with ER Diagrams in Vertabelo
- What Is an ER Diagram?
- Explaining an ER Diagram, With Steps and Use Cases
- A Database Model for a Hotel Reservation Booking App and Channel Manager
- A Data Model for Online Concert Ticket Sales
- What Are the Symbols Used in an ER Diagram?
- ER Diagram: Entity Relationship Diagram Model | DBMS Example
- What is an Entity Relationship Diagram (ERD)?
- Entity Data Model Key Concepts
- A Data Model for an Online Musical Equipment Shop
- A Data Model for a Wine Store
- Automobile Repair Shop Data Model
- A Data Model for a Freelancers Collective
- What is the difference between 'class diagrams' and 'data models' in UML?
- Creating Entity Relationship Diagrams using Draw.io
- Entity Relationship Diagram (ERD) Tutorial - Part 1
- Entity Relationship Diagram (ERD) Tutorial - Part 2
- Entity Data Model Key Concepts
-
Component Diagram
-
Conceptual Modeling
-
Logical Modeling
-
Physical Modeling
-
Tools
-
-
Event Storming
-
📝 Articles
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Big Picture Event Storming
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- More Efficient Domain Modeling with EventStorming
- EventStorming – From Big Picture to Software Design
- EventStorming cheat sheet
- Event Storming
- Event storming analysis
- Reactive in practice, Unit 1: Event storming the stock trader domain
- Detailed Agenda of a DDD Big Picture Event Storming - Part 1
- Detailed Agenda of a DDD Big Picture Event Storming - Part 2
- Detailed Agenda of a DDD Big Picture Event Storming - Part 3
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Detailed agenda for a DDD Design-Level Event Storming - part 2
- Why should we use Design Level Event Storming for DDD?
- 7 tactics that will make your DDD Design-Level Event Storming pay-off
- A step by step guide to Event Storming – our experience
- EventStorming; Core concepts, glossary and legend
- What is EventStorming?
- Detailed agenda for a DDD Design-Level Event Storming - part 1
- Event Storming: How It Will Improve Your Business Processes?
- Remote EventStorming
- The introduction to Big Picture Eventstorming.v1
- The introduction to Big Picture Eventstorming.v2
- Discovering complex domain with Event Storming
- EventStorming cheat sheet
- EventStorming tools, what is in my flight case!
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Reactive in practice, Unit 1: Event storming the stock trader domain
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- EventStorming; Core concepts, glossary and legend
- The introduction to Big Picture Eventstorming.v1
- The introduction to Big Picture Eventstorming.v2
- EventStorming cheat sheet
- EventStorming tools, what is in my flight case!
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
-
Books
- Introducing EventStorming - Alberto Brandolini
-
📹 Videos
-
Samples
- Event Storming
- Decomposing the Monolith with Event Storming
- https://github.com/RagDhiman/M4-Organizing-Your-.NET-Microservices-MegaService
- https://github.com/RagDhiman/M4-Organizing-Your-.NET-Microservices-Organized
- https://github.com/RagDhiman/Miro-Event-Storming-Steps-JPEGs
- https://github.com/RagDhiman/Miro-Event-Storming-Steps
-
Resources
-
-
Engineering Blogs
-
Books
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- https://github.com/kilimchoi/engineering-blogs
- Uber
- Netflix Engineering Blog
- Netflix Architecture Blog
- Amazon
- Amazon Architecture blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
- Netflix Architecture Blog
- Netflix Engineering Blog
- Netflix Engineering Blog
- Netflix Architecture Blog
-
-
Resources
-
📝 Articles
- Software Architecture Premises - Herberto Graca
- Simple Sketches for Diagramming your Software Architecture
- Monolithic Architecture
- Architectural Drivers: Building Blocks for Decision Making
- Documenting Software Architecture - Herberto Graca
- Reflecting architecture and domain in code - Herberto Graca
- Schools of Package Architecture - An Illustration
- DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together - Herberto Graca
- Architectural Styles vs. Architectural Patterns vs. Design Patterns
- The Software Architecture Chronicles
- More than concentric layers - Herberto Graca
- Package by component and architecturally-aligned testing
- Modularity and testability
- Software architecture vs code
- An architecturally-evident coding style
- Mapping software architecture to code
- Components vs classes
- Simple Sketches for Diagramming your Software Architecture
- techtribes.je - context
- Aligning software architecture and code
- Layers, hexagons, features and components
-
📹 Videos
- GOTO 2021 • Software Architecture for Developers Part 2/2 • Simon Brown & Stefan Tilkov
- Structurizr C4 Model series
- DevTernity 2016: Simon Brown - The Art of Visualising Software Architecture
- GOTO 2018 • Modular Monoliths • Simon Brown
- Modular monoliths by Simon Brown
- GOTO 2014 • Software Architecture vs. Code • Simon Brown
- Modular monoliths (Simon Brown) - 2016
- Software architecture and code
- GOTO 2020 • Five Things Every Developer Should Know about Software Architecture • Simon Brown
- How to build software architecture diagrams
- Visualising software architecture with the C4 model - Simon Brown, Agile on the Beach 2019
- Structurizr C4 Model series
- Structurizr C4 Model series
-
Design Patterns
-
Strategy Pattern
- SOLID Principles for C# Developers
- C# Design Patterns – Strategy Design Pattern
- Design Pattern Combination – Strategy with Factory Method
- ASP.NET Core and the Strategy Pattern
- 6 Ways To Implement The Strategy Pattern In C# (Basic To Advanced)
- Strategy Pattern C#
- The Strategy Pattern in C#
- Implement Custom Logic for Clients using the Strategy and Factory Design Patterns
- Implement Custom Logic for Clients using the Strategy and Factory Design Patterns
- ASP.NET Core and the Strategy Pattern
- WestDiscGolf/StrategyPatternExample
- Dashell/strategy-pattern-dotnetcore
- Strategy Pattern C#
-
Service Locator
-
Specification Pattern
- Implementing Query Specification pattern in Entity Framework Core - Gunnar Peipman
- Using the Specification pattern with Repository and Unit of work - Akos Nagy
- Specification
- Reviewing the Specification Pattern and NuGet package
- What's new in v5 of Ardalis.Specification
- Specification Pattern in ASP.NET Core – Enhancing Generic Repository Pattern
- Specification
- Specification
- https://github.com/ardalis/Specification
- Specification pattern: C# implementation - Vladimir Khorikove
- Specification
-
Repository Pattern
- No need for repositories and unit of work with Entity Framework Core - Gunnar Peipman
- Repository and unit of work ARE useful - Akos Nagy
- The generic repository is just a lazy anti-pattern
- The Generic Repository Is An Anti-Pattern
- Repository Pattern in .Net Core
- DDD: The Generic Repository
- Creating A Generic Repository
- Repository is Dead: Long Live Repository
- More on Repository
- The Repository Pattern isn’t an Anti-Pattern; You’re just doing it wrong.
- Repository Pattern in .Net Core
-
Query Object Pattern
-
Decorator Pattern
-
Factory Pattern
- The Factory Pattern In .NET Core - DotnetCoreTutorials
- The Factory Pattern In .NET Core - DotnetCoreTutorials
-
Singleton
-
Resources
- rafaelfgx/DesignPatterns
- DesignPatterns
- anupavanm/csharp-design-patterns-for-humans
- nemanjarogic/DesignPatternsLibrary
- beginor/DesignPatterns
- EdisonChou/DesignPattern.Samples.CSharp
- TengXiaoDai/DesignPattern
- exceptionnotfound/DesignPatterns
- anupavanm/csharp-design-patterns-for-humans-examples
- wesdoyle/design-patterns-explained-with-food
- ardalis/DesignPatternsInCSharp
- EdisonChou/DesignPattern.Samples.CSharp
-
-
Azure Application Architecture
-
Azure Service Bus
-
Resources
- The Azure Kubernetes Service (AKS) Architecture Map
- The Cloud-native Azure Application Architect Map
- The Azure Infrastructure Architect Map
- The Azure Solution Architect Map
- The Azure Security Architect Map
- https://dotnet.microsoft.com/learn/azure/architecture
- The Azure Kubernetes Service (AKS) Architecture Map
- The Cloud-native Azure Application Architect Map
- The Azure Infrastructure Architect Map
- The Azure Solution Architect Map
- The Azure Security Architect Map
-
Azure Active Directory (Azure AD)
- Automate Azure AD B2C custom policies release with GitHub Actions
- Azure AD B2C with external authorization store
- How to provide access to application for different types of users with Azure AD and Azure AD B2C
- Introduction to the Microsoft Identity Platform
- How to secure solution with Azure Active Directory B2C (Azure AD B2C)
- Automate Azure AD B2C policies release with GitHub Actions
- Manage guest user access with Azure AD External Identities
- Azure AD B2C with external authorization store
-
Azure Functions
-
Azure Template
-
📝 Articles
-
🔖 Samples
-
-
Architectural Design Principles
-
Dependency Inversion
-
Resources
- Architectural principles - Microsoft
- Principles - DevIQ
- 10 Crucial Software Development Principles to Live By
- 10 OOP Design Principles Every Programmer Should Know
- Principles - principles-wiki.net
- 10 Crucial Software Development Principles to Live By
- Principles - principles-wiki.net
- 10 Crucial Software Development Principles to Live By
- Architectural principles - Microsoft
- Principles - DevIQ
-
Open/Closed Principles
-
Cross Cutting Concerns
- Cross cutting concern example
- cross cutting concern
- Cross-Cutting Concerns for An Enterprise Application
- Crosscutting Concerns
- Using the Decorator Pattern to handle cross-cutting concerns
- Chain of Responsibility pattern for handling cross-cutting concerns
- Applying cross-cutting concerns in ASP.NET Core with MediatR using behaviors
- Managing Cross Cutting Concerns – Logging
- Managing Cross Cutting Concerns – Logging
- Managing Cross Cutting Concerns – Logging
- Using the Decorator Pattern to handle cross-cutting concerns
- Managing Cross Cutting Concerns – Logging
- Terminology: cross cutting concern
- Crosscutting Concerns
-
KISS
- Principles of Good Programming
- Keep It Simple Stupid (KISS) - principles-wiki
- Keep It Simple - DevIQ
- Keep It Simple Stupid (KISS) - principles-wiki
- Keep It Simple - DevIQ
-
YAGNI
-
Minimize Coupling
- Why is loose coupling between services so important? - Ben Morris
-
Persistence Ignorance
-
GRASP
-
-
Cloud Design Patterns
-
Books
-
Anti-Corruption Layer Pattern
-
Gateway Pattern
-
Strangler Fig pattern
-
Ambassador Pattern
-
Bulkhead Pattern
-
Gateway Aggregation
-
Saga
-
At-least-Once Delivery (Outbox Pattern)
- At-least-once Delivery - cloudcomputingpatterns.org
- The Outbox Pattern - Kamil Grzybek
-
Exactly-Once Delivery
- Exactly-once Delivery - cloudcomputingpatterns.org
-
Samples
-
Resources
- Cloud Design Patterns - Microsoft
- Cloud Computing Patterns - CloudComputingPatterns
-
-
Messaging Patterns
-
📝 Articles
- Communication in a microservice architecture - Microsoft
- Organizing (Commands, Events & Handlers) in Microservices
- REST APIs for Microservices? Beware!
- Messaging Commands & Events Explained!
- Event Choreography & Orchestration (Sagas)
- Moving work Out-of-Process using Brighter and RabbitMQ
- Thin vs Fat Integration Events
- Events: Fat or Thin
- Asynchronous message-based communication - Microsoft
- Using Hangfire and MediatR as a Message Dispatcher
- Identify Commands & Events
- Idempotent Commands
- Processing commands with Hangfire and MediatR - Kamil Grzybek
- Marrying RESTful HTTP with Asynchronous and Event-Driven Services
- Asynchronous Messaging Patterns
- Messaging Patterns Overview
- Service Activator
- Message Properties
- Message Naming Guidelines
- Outbox Pattern: Reliably Save State & Publish Events
- Handling Duplicate Messages (Idempotent Consumers)
- Message-IDs for Handling Concurrency
- CAP: Event Bus & Outbox Pattern
- Message Queue Overload from High Processing Latency
- Patterns for Decoupling in Distributed Systems: Fat Event
- Message Sender: Who Sent the Command/Event?
- Event Versioning Guidelines
- Putting your events on a diet
- Fat vs thin domain events
- Events on the Outside vs Events on the Inside
- Why use DTOs (Data Transfer Objects)?
- DDD and Messaging Architectures - Mathias Verraes
- Idempotent Aggregates
- What do you mean by “Event-Driven”?
- Messaging patterns - Microsoft
- Modular Monolith: Integration Styles - Kamil Grzybek
- Processing commands with Hangfire and MediatR - Kamil Grzybek
- Fat vs thin domain events
-
Resources
-
Videos
- Handling Concurrency with Message-IDs | Event Driven Architecture
- Message Naming Guidelines | Event Driven Architecture
- Event Versioning Guidelines
- Service Oriented Architecture: Commands & Events Explained!
- Handling Duplicate Messages (Idempotent Consumers)
- Sagas: Event Choreography & Orchestration (NServiceBus)
- CAP: Event Bus & Outbox Pattern
- Thin or Fat Events? Are your boundaries right?
- Organizing (Commands, Events & Handlers) in Microservices/SOA
- GOTO 2017 • The Many Meanings of Event-Driven Architecture • Martin Fowler
- Event Versioning Guidelines
- CAP: Event Bus & Outbox Pattern
-
Library
-
Books
-
Kafka
-
-
Distributed Systems Design
-
Resources
- System Design - Tech Dummies Narendra L
- Coding and System Design Interview Questions - Success in Tech
- System Design - codeKarle
- Grokking the System Design Interview
- Preparing for the Systems Design and Coding Interview
- System Design Interview
- systeminterview
- https://github.com/lei-hsia/grokking-system-design - LEI XIA
- http://highscalability.com/all-time-favorites/
- systeminterview
- systeminterview
- systeminterview
- Coding and System Design Interview Questions - Success in Tech
- System Design And Interview - interviewing.io
- System Design - codeKarle
- Grokking the System Design Interview
- System Design Interview
- System Design - Tech Dummies Narendra L
- Coding and System Design Interview Questions - Success in Tech
- Basics of System Design - Coding Simplified
- System Design Primer Course - sudoCODE
- System Design - codeKarle
- Grokking the System Design Interview
- https://github.com/donnemartin/system-design-primer - Donne Martin
- https://github.com/checkcheckzz/system-design-interview - Zach
- https://github.com/shashank88/system_design - shashank khare
- systeminterview
-
📹 Videos
- Distributed Computing - The TechCave
- Distributed Computing - The TechCave
-
Books
-
📝 Articles
-
-
Serverless Architectural Pattern
-
📹 Videos
- Serverless Computing - The TechCave
- Serverless Computing - The TechCave
-
-
MicroKernel Architectural Pattern
-
📹 Videos
- Microkernel Architectural Pattern | Software Architecture - The TechCave
- Microkernel Architectural Pattern | Software Architecture - The TechCave
-
-
Clean Code
-
📝 Articles
-
📹 Videos
-
Resources
- https://github.com/thangchung/clean-code-dotnet - Thang Chung
-
-
Design Best Practices
-
Strongly Typed Ids
-
12 Factor
-
Articles
-
Thin Controllers
-
-
Anti Patterns
-
Resources
-
Code Smells
- Code Smells - DevIQ
- Code Smells - DevIQ
-
-
Books
-
Books
- Agile Principles, Patterns, and Practices in C#
- Lean Architecture: for Agile Software Development Paperback – Illustrated, 13 July 2010
- System Design Interview – An insider's guide, Second Edition
- Documenting Software Architectures: Views and Beyond
- Designing Software Architectures: A Practical Approach
- Clean Architecture: A Craftsman's Guide to Software Structure and Design: A Craftsman's Guide to Software Structure and Design
- Architecting Modern Web Applications with ASP.NET Core and Microsoft Azure
- Software Architecture for Developers - Simon Brown
- Building Evolutionary Architectures: Support Constant
- Fundamentals of Software Architecture: An Engineering Approach
- Just Enough Software Architecture: A Risk-Driven Approach
- Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development
- Object-Oriented Design Heuristics
- The Pragmatic Programmer: Your Journey To Mastery
- Code Complete: A Practical Handbook of Software Construction, Second Edition
- Cracking the Coding Interview: 189 Programming Questions and Solutions 6th Edition
- Building Event-Driven Microservices: Leveraging Organizational Data at Scale
- Software Architecture with C# 9 and .NET 5 - Second Edition
- Architectural Patterns: Uncover essential patterns in the most indispensable realm of enterprise architecture
- Software Architect’s Handbook: Become a successful software architect by implementing effective architecture concepts
- Solutions Architect's Handbook: Kick-start your solutions architect career by learning architecture design principles and strategies
- An Atypical ASP.NET Core 5 Design Patterns Guide
- Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
- Patterns of Enterprise Application Architecture
- The Pragmatic Programmer: Your Journey To Mastery
- Software Architecture with C# 9 and .NET 5 - Second Edition
- Software Architect’s Handbook: Become a successful software architect by implementing effective architecture concepts
-
-
Other Resources
-
Books
- How to Learn Software Design and Architecture | The Full-stack Software Design & Architecture Map
- https://github.com/simskij/awesome-software-architecture
- https://github.com/mfornos/awesome-microservices
- Software architect roadmap
- How to Learn Software Design and Architecture | The Full-stack Software Design & Architecture Map
- https://github.com/binhnguyennus/awesome-scalability
- joebew42/study-path
-
-
Modular Monolith
-
📝 Articles
- Migrating Monoliths to Microservices with Decomposition and Incremental Changes
- Decompose your monolith: Ten principles for refactoring a monolith to microservices
- Decompose Your Monolith: Strategies for Migrating to Microservices
- Making Modular Monoliths Work
- Loosely Coupled Monolith Overview
- MonolithFirst
- My experience of using the Clean Code architecture with a Modular Monolith
- My experience of using modular monolith and DDD architectures
- Modular Monolith: Architectural Drivers
- Modular Monolith: Architecture Enforcement
- Modular programming: Beyond the spaghetti mess
- Modular Monolith: A Primer
- Modular Monolith: Architectural Drivers
- Modular Monolith: Architecture Enforcement
-
📹 Videos
- GOTO 2018 • Modular Monoliths • Simon Brown
- Munich .NET Meetup: Modular Monolith Architecture - One to rule them all
- Decompose your monolith- when and how to incrementally refactor to microservices
- GOTO 2019 • Monolith Decomposition Patterns • Sam Newman
- GOTO 2016 • From Monolith to Microservices at Zalando • Rodrigue Schaefer
- Modular monoliths (Simon Brown) - 2016
- Modular monoliths by Simon Brown
- Majestic Modular Monoliths by Axel Fontaine
-
🔖 Samples
-
-
Caching
-
Articles
- “Red(e)isign” Publish/Subscribe with Redis
- Where Is My Cache? Architectural Patterns for Caching Microservices
- 4 ways to update your cache
- Simple In-Memory Caching in .Net Core with IMemoryCache
- 4 Microservices Caching Patterns at Wix
- Redis vs. Memcached: In-Memory Data Storage Systems
- Difference Between Redis vs Memcached
- Caching Best Practices
- How to Improve ASP.NET App Performance in Web Farm with Caching
- Redis as Backplane to scale your Blazor applications
- Hybrid Caching
- REDIS VS MEMCACHED: WHICH ONE TO CHOOSE?
- Caching Best Practices
- 4 ways to update your cache
-
Videos
-
-
Distributed Transactions
-
Eventual Consistency
-
📝 Articles
-
-
RESTful API Design
-
📝 Articles
- Richardson Maturity Model
- Best Practices for Designing a Pragmatic RESTful API
- The Web API Checklist -- 43 Things To Think About When Designing, Testing, and Releasing your API
- OpenAPI Specification
- Microsoft REST API Guidelines
- OpenAPI Specification
- RESTful API Design: 13 Best Practices to Make Your Users Happy
-
-
Refactoring
-
Scalable Software Architecture
-
Concurrency
Programming Languages
Categories
Architectural Patterns
352
Architectural Style
301
Modeling
125
Event Storming
76
Messaging Patterns
75
Engineering Blogs
65
Design Patterns
62
Resources
45
Architectural Design Principles
43
Distributed Systems Design
34
Azure Application Architecture
31
Cloud Design Patterns
28
Modular Monolith
28
Books
27
Caching
15
Design Best Practices
10
Clean Code
8
RESTful API Design
7
Other Resources
7
Anti Patterns
5
Refactoring
3
MicroKernel Architectural Pattern
2
Serverless Architectural Pattern
2
Distributed Transactions
2
Eventual Consistency
1
Concurrency
1
Scalable Software Architecture
1
Sub Categories
📝 Articles
153
Domain Driven Design - Domain Centric
123
Clean Architecture
115
Books
107
Microservices
98
Resources
89
Ports And Adapters Architecture (Hexagonal Architecture)
64
Vertical Slice Architecture
52
Exceptions & Validation
48
CQRS
39
Relationships
39
📹 Videos
39
Class Diagram (Class Modeling)
33
Event Driven Architecture
22
Library
21
ER Diagrams (Data Modeling)
20
Articles
16
Videos
16
Onion Architecture
16
Event Sourcing
16
Cross Cutting Concerns
14
Strategy Pattern
13
Specification Pattern
11
Repository Pattern
11
🔖 Samples
10
Data Model Notations
8
Azure Active Directory (Azure AD)
8
Samples
8
Data Driven Design (Data Centric)
7
Tools
7
Conceptual Modeling
7
Traditional N-Layer Architecture
6
Decorator Pattern
6
Azure Service Bus
6
Steeltoe
6
Anti-Corruption Layer Pattern
6
Persistence Ignorance
5
KISS
5
Gateway Pattern
4
Service Locator
4
Physical Modeling
4
Thin Controllers
4
Kafka
3
YAGNI
3
Strangler Fig pattern
3
Use Case Diagram
3
Service Oriented Architecture
3
Observibility
3
Azure Template
3
Dapr
3
Component Diagram
2
Logical Modeling
2
Service Discovey
2
GRASP
2
Code Smells
2
At-least-Once Delivery (Outbox Pattern)
2
12 Factor
2
Query Object Pattern
2
Strongly Typed Ids
2
Factory Pattern
2
Ambassador Pattern
2
Gateway Aggregation
2
Dependency Inversion
2
Saga
2
Singleton
1
Tye
1
Azure Functions
1
Bulkhead Pattern
1
Open/Closed Principles
1
Exactly-Once Delivery
1
Minimize Coupling
1
Keywords
dotnet
27
ddd
27
clean-architecture
24
csharp
23
dotnet-core
22
domain-driven-design
21
microservices
21
cqrs
18
design-patterns
16
aspnetcore
15
architecture
15
clean-code
14
c-sharp
13
entity-framework-core
12
aspnet-core
12
docker
12
rabbitmq
11
ddd-architecture
9
ecommerce
8
dotnetcore
8
azure
8
aspnet
8
redis
7
hexagonal-architecture
7
grpc
7
rest-api
7
event-sourcing
7
mediatr
7
shopping-cart
6
onion-architecture
6
asp-net-core
6
microservice
6
blazor
6
microservices-architecture
6
angular
6
messaging
6
kafka
5
kubernetes
5
netcore
5
shop
5
eventsourcing
5
mongodb
5
reactjs
4
e-commerce
4
ddd-example
4
asp-net
4
automapper
4
message-bus
4
distributed-systems
4
system-design
4