Curated list of awesome articles and resources to learn and practice about software architecture, patterns and principles. this repository will be updated continuously, keep yourself up to date
Contributions are always welcome! Please take a look at the contribution guidelines pages first.
Thanks to all contributors, you're awesome and wouldn't be possible without you! The goal is to build a categorized community-driven collection of very well-known resources.
Check out my blog or find me on Linkedin or Twitter!
My primary focus in this repository is on quality. Creating a good quality of resources. It takes a lot of time. If you like this, learned something or you are using it in your applications, please give it a star ⭐. This is the best motivation for me to continue this work. Thanks!
If you think this repository makes a difference and is worth it, please share it with your friends and on social networks. I will be extremely grateful.
- Software Architecture
- Architectural Style
- Architectural Design Principles
- Architectural Patterns
- Design Patterns
- Cloud Design Patterns
- Microservices Anti Pattern
- Object Oriented Design
- Distributed Systems Design
- Scalable Software Architecture
- Clean Code
- Design Best Practices
- Anti Patterns
- Eventual Consistency
- Messaging Patterns
- Distributed Transactions
- Concurrency
- Eventual Consistency
- Modular Monolith
- RESTful API Design
- Caching
- Packaging
- Refactoring
- Azure Application Architecture
- Modeling
- Event Storming
- Engineering Blogs
- Books
- Other Resources
- The Software Architecture Chronicles
- Software Architecture Premises - Herberto Graca
- DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together - Herberto Graca
- Reflecting architecture and domain in code - Herberto Graca
- More than concentric layers - Herberto Graca
- Documenting Software Architecture - Herberto Graca
- Architectural Styles vs. Architectural Patterns vs. Design Patterns
- Package by component and architecturally-aligned testing
- Schools of Package Architecture - An Illustration
- 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
- Architectural Patterns and Styles
- Monolithic Architecture
- techtribes.je - context
- Aligning software architecture and code
- Component Based Architecture
- Layers, hexagons, features and components
- PresentationDomainDataLayering
- Architectural Drivers: Building Blocks for Decision Making
- DevTernity 2016: Simon Brown - The Art of Visualising Software Architecture
- GOTO 2018 • Modular Monoliths • Simon Brown
- GOTO 2014 • Software Architecture vs. Code • Simon Brown
- Modular monoliths (Simon Brown) - 2016
- Modular monoliths by Simon Brown
- Software architecture and code
- Munich .NET Meetup: Modular Monolith Architecture - One to rule them all
- Majestic Modular Monoliths by Axel Fontaine
- 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
- Software Architecture vs Code
- GOTO 2021 • Software Architecture for Developers Part 2/2 • Simon Brown & Stefan Tilkov
- Architectural Patterns and Styles - Microsoft
- The Software Architecture Chronicles - Herberto Graca
- DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together - Herberto Graca
- Reflecting architecture and domain in code - Herberto Graca
- More than concentric layers - Herberto Graca
- Architectural Styles vs. Architectural Patterns vs. Design Patterns
- Component Based Architecture
- Package by component and architecturally-aligned testing
- Modular Monolith
- The C4 Model
- Layers, hexagons, features and components
- techtribes.je - containers
- techtribes.je - components
- PresentationDomainDataLayering
- Multiple ways of defining Clean Architecture layers
- Modular Monolith: A Primer
- Layers, hexagons, features and components
- Software Architecture vs Code
- https://github.com/techtribesje/techtribesje
- https://github.com/kgrzybek/modular-monolith-with-ddd
- https://github.com/hgraca/explicit-architecture-php
- https://github.com/Sairyss/domain-driven-hexagon
- GOTO 2018 • Modular Monoliths • Simon Brown
- GOTO 2014 • Software Architecture vs. Code • Simon Brown
- Modular monoliths (Simon Brown) - 2016
- Modular monoliths by Simon Brown
- Munich .NET Meetup: Modular Monolith Architecture - One to rule them all
- Majestic Modular Monoliths by Axel Fontaine
- N-tier architecture style
- The Tyranny of Horizontal Architectures (and How You Might Escape): Part 1
- Traditional "N-Layer" architecture applications
- What is N-Tier Architecture? How It Works, Examples, Tutorials, and More
- Layered Architecture - Herberto Graca
- Clean architecture - Microsoft
- Layers in DDD microservices - Microsoft
- Clean architecture - Microsoft
- The Clean Architecture - Uncle Bob
- Clean Architecture: Standing on the shoulders of giants - Herberto Graca
- DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together - Herberto Graca
- Reflecting architecture and domain in code - Herberto Graca
- More than concentric layers - Herberto Graca
- A Brief Intro to Clean Architecture, Clean DDD, and CQRS - Jacobs Data
- A Template for Clean Domain-Driven Design Architecture - Jacobs Data
- Onion Architecture In ASP.NET Core With CQRS – Detailed - CodeWithMukesh
- CQRS Translated to Clean Architecture
- A Brief Intro to Clean Architecture, Clean DDD, and CQRS
- Clean Architecture with .NET Core: Getting Started
- Clean architecture series — Part 3
- 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
- Hexagonal and Clean Architecture Styles with .NET Core (Reviewed)
- ASP.NET Core WebAPI – Clean Architecture
- Getting Started with Clean Architecture using ASP.NET Core – 01 - Gökhan Gökalp
- Component Based Architecture
- Multiple ways of defining Clean Architecture layers
- Adoption of Clean Architecture layers with modules
- Clean Architecture : Part 2 – The Clean Architecture
- 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
- Adding Aggregate Example to Clean Architecture solution template - Steve Smith
-
Guide on Domain-Driven Design, Hexagonal architecture, best practices etc.
-
acobsDataSolutions/OrgManager - Jacobs Data
CQRS and Clean Domain-Driven Design concepts on the ASP.NET Core stack. Demo application for a fictional corporate organization management tool.
-
jasontaylordev/CleanArchitecture - Jason Taylor
Clean Architecture Solution Template for Angular 10 and .NET 5 - Project Template (nuget package)
-
EduardoPires/EquinoxProject - Eduardo Pires
Full ASP.NET Core 3.1 application with DDD, CQRS and Event Sourcing concepts
-
ardalis/cleanarchitecture - Steve Smith
A starting point for Clean Architecture with ASP.NET Core - Project Template (visual studio extension)
-
pereiren/dotnet-template-onion
Onion Architecture with .NET 5/.NET Core and CQRS/Event Sourcing following a DDD approach
-
NNVTV/NetCore-Clean-Architecture - INNVTV
.Net Core starter project for clean architecture showcasing use of the CQRS pattern, MediatR and custom Middleware for cross-cutting concerns, micro-service communications with REST/OpenAPI, Swagger, Webhooks and gRPC endpoints, CosmosDB for data and Serilog for logging.
-
Craftsman is the workhorse behind the Wrapt framework and provides a suite of CLI commands for quickly scaffolding out new files and projects for your .NET Web APIs with simple CLI commands and configuration files.
-
gothinkster/aspnetcore-realworld-example-app
ASP.NET Core backend implementation for RealWorld
-
dotnet-architecture/eShopOnWeb - Steve Smith
Sample ASP.NET Core 5.0 reference application, powered by Microsoft, demonstrating a layered application architecture with monolithic deployment model. Download the eBook PDF from docs folder.
-
matthewrenze/clean-architecture-demo - Matthew Renze
A sample app for my presentation on Clean Architecture: Patterns, Practices, and Principles
-
jasontaylordev/NorthwindTraders - Jason Taylor
Northwind Traders is a sample application built using ASP.NET Core and Entity Framework Core.
-
hgraca/explicit-architecture-php - Herberto Graca
This repository is a demo of Explicit Architecture, using the Symfony Demo Application.
-
mmacneil/CleanAspNetCoreWebApi - Mark Macneil
Starter project for creating APIs built on ASP.NET Core using clean architecture.
-
ivanpaulovich/clean-architecture-manga - Ivan Paulovich
Clean Architecture with .NET5, C#9 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks
-
Daniel-Krzyczkowski/CleanArchitectureWithDevSecOps - Daniel Krzyczkowski
This repository contains code samples related with clean software architecture and DevSecOps.
-
aspnetcorehero/Boilerplate - Mukesh Murugan
Clean Architecture Solution Template for ASP.NET Core 5.0. Built with Onion/Hexagonal Architecture and incorporates the most essential Packages your projects will ever need. Includes both WebApi and Web(MVC) Projects.
-
fals/cqrs-clean-eventual-consistency - Filipe Augusto
CQRS, using Clean Architecture, multiple databases and Eventual Consistency
-
rafaelfgx/Architecture - Rafael Garcia
Architecture .NET 5, ASP.NET Core 5, Entity Framework Core 5, C# 9, Angular 11, Clean Code, SOLID, DDD.
-
kgrzybek/sample-dotnet-core-cqrs-api - Kamil Grzybek
Sample .NET Core REST API CQRS implementation with raw SQL and DDD using Clean Architecture.
-
phongnguyend/Practical.CleanArchitecture
Asp.Net Core 5 Clean Architecture (Microservices, Modular Monolith, Monolith) samples (+Blazor, Angular 11, React 17, Vue 2.6), Domain-Driven Design, CQRS, Event Sourcing, SOLID, Asp.Net Core Identity Custom Storage, Identity Server 4 Admin UI, Entity Framework Core, Selenium E2E Testing, SignalR Notification, Hangfire Tasks Scheduling
-
aspnetrun/run-aspnetcore - AspNetRun
A starter kit for your next ASP.NET Core web application. Boilerplate for ASP.NET Core reference application, demonstrating a layered application architecture with applying Clean Architecture and DDD
-
aspnetrun/run-aspnetcore-cqrs - AspNetRun
Real world Enterprise CRM application example of ASP.NET Core + Angular web application. Implemented CQRS Design Pattern for ASP.NET Core + Angular reference application, demonstrating a layered application architecture with DDD
-
aspnetrun/run-aspnetcore-realworld - AspNetRun
E-Commerce real world example of run-aspnetcore ASP.NET Core web application. Implemented e-commerce domain with clean architecture for ASP.NET Core reference application, demonstrating a layered application architecture with DDD best practices.
-
jacobduijzer/CleanArchitectureTemplate
A template for a dotnet core api / mvc "clean architecture" project.
-
CanerPatir/aspnet-core-clean-arch
It is a clean architecture project template which is based on hexagonal-architecture principles built with .Net core.
-
An example approach for implementing a Clean/Hexagonal Architecture
-
A simple yet organized project template for building ASP.NET Core APIs in .NET Core 3.1
-
Clean Architecture Template for Blazor WebAssembly Built with MudBlazor Components.
-
A mini Reddit written in ASP.NET Core 5.0
-
A simple web application for devBetter
- Onion Architecture In ASP.NET Core With CQRS – Detailed - CodeWithMukesh
- 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
- Onion Architecture: Part 4 – After Four Years - Jeffrey Palermo
- Understanding Onion Architecture - Code Guru
- Clean architecture series — Part 2 - David Pereira
- A simple template for Onion Architecture with .NET 5 - David Pereira
- Peeling Back the Onion Architecture - Tony Sneed
-
https://github.com/Amitpnk/Onion-architecture-ASP.NET-Core
WhiteApp API solution template which is built on Onion Architecture with all essential feature using .NET Core!
-
https://github.com/pereiren/dotnet-template-onion
Onion Architecture with .NET 5/.NET Core and CQRS/Event Sourcing following a DDD approach
- Ports & Adapters Architecture - Herberto Graca
- DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together - Herberto Graca
- Hexagonal architecture - Alistair Cockburn
- Hexagonal (Ports & Adapters) Architecture - Tugce Konuklar
- 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
- Clean architecture series— Part 1
- 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
-
Sairyss/domain-driven-hexagon > Guide on Domain-Driven Design, Hexagonal architecture, best practices etc.
-
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.
-
ivanpaulovich/clean-architecture-manga - Ivan Paulovich > Clean Architecture with .NET5, C#9 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks
-
CanerPatir/aspnet-core-clean-arch > It is a clean architecture project template which is based on hexagonal-architecture principles built with .Net core.
-
Lunch-box/SimpleOrderRouting > Prototype of a Smart Order Routing system (finance). The opportunity for a mob of Lunch-boxers, to explore various technical approaches in reactive programming.
- 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
- Vertical Slice Architecture - Jimmy Bogard
- Package by component and architecturally-aligned testing - Simon Brown
- An architecturally-evident coding style - Simon Brown
- Package by Component with Clean Modules in Java - Tomas Tulka
- Schools of Package Architecture - An Illustration
- Architecting for maintainability through Vertical Slices
- Package by component and architecturally-aligned testing
- 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
- Put your controllers on a diet: GETs and queries - Jimmy Bogard
- Put your controllers on a diet: POSTs and commands - Jimmy Bogard
- 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
- Moving from Controllers and Actions to Endpoints with MediatR - Steve Smith
- MVC Controllers are Dinosaurs - Embrace API Endpoints - 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
- DevTernity 2019: Jimmy Bogard – Vertical Slice Architecture - Jimmy Bogard
- Vertical Slice Architecture - Jimmy Bogard
- jbogard/ContosoUniversityDotNetCore - Jimmy Bogard
- jbogard/ContosoUniversityDotNetCore-Pages - Jimmy Bogard
- gothinkster/aspnetcore-realworld-example-app
ASP.NET Core backend implementation for RealWorld
- dcomartin/MusicStore - CodeOpinion
- ardalis/OrganizingAspNetCore - Steve Smith
- dotnet-architecture/eShopOnWeb - Steve Smith
- ardalis/ApiEndpoints/tree/master/sample - Steve Smith
- PacktPublishing/ASP.NET-Core-5-Design-Patterns/tree/main/C15/Vertical%20Slice%20Architecture
- Event-driven architecture style
- Event-Driven Architecture - Herberto Graca
- Journey to Event Driven – Part 1: Why Event-First Programming Changes Everything
- 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
- Event Driven Systems
- Events on the outside, on the inside and at the core
- Implementing event-based communication between microservices (integration events) - Microsoft
- Domain events: design and implementation - Microsoft
- DDD and Messaging Architectures
- Developing a Successful End-to-End Complex Event Processing Strategy
- Event-Driven Architecture with Apache Kafka for .NET Developers Part 1 - Event Producer
- Event-Driven Architecture with Apache Kafka for .NET Developers Part 2 - Event Consumer
- Event-Driven Architecture with Apache Kafka for .NET Developers Part 3 - Azure Event Hubs
- What do you mean by “Event-Driven”?
- 6 Event-Driven Architecture Patterns — Part 1
- 6 Event Driven Architecture Patterns — Part 2
- Event-Driven Architecture | EDA | Software Architectural Patterns - The TechCave
- Events on the outside, on the inside and at the core
- GOTO 2017 • The Many Meanings of Event-Driven Architecture • Martin Fowler
- Event Driven Collaboration - Lan Cooper
- 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
- GOTO 2020 • The Power of Event-Driven Systems without Burning your Hands or Budgets • Allard Buijze
- Core Decisions in Event-Driven Architecture - Duana Stanley
- Creating event-driven microservices: the why, how and what by Andrew Schofield
- What's an Event Driven System?
- Event Based Architecture: What do you mean by EVENT?
- Architectural Styles vs. Architectural Patterns vs. Design Patterns
- Architectural principles - Microsoft
- Principles - DevIQ
- 10 Crucial Software Development Principles to Live By
- 10 OOP Design Principles Every Programmer Should Know
- Design Principles - java-design-patterns.com
- Principles - principles-wiki.net
- Singleton vs Dependency Injection
- Don’t Call Constructors Unless You Have No Choice, And You Always Have a Choice
- Crosscutting Concerns - Microsoft
- A Brief Intro to Clean Architecture, Clean DDD, and CQRS - Jacobs Data
- Managing Cross Cutting Concerns – Logging
- Cross cutting concern example
- cross cutting concern
- Cross-Cutting Concerns for An Enterprise Application
- Terminology: cross cutting concern
- 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
- KISS - java-design-patterns
- Principles of Good Programming
- Keep It Simple Stupid (KISS) - principles-wiki
- Keep It Simple - DevIQ
- Why is loose coupling between services so important? - Ben Morris
- Persistence Ignorance - DevIQ
- Understanding Persistence Ignorance Principle
- Infrastructure Ignorance - Ayende
- Persistence Ignorance - Microsoft
-
DesignPatterns > Project : Design Patterns Examples in C#
Design Patterns for Humans™ - An ultra-simplified explanation - C# Examples
A comprehensive design patterns library implemented in C#, which covers various design patterns from the most commonly used ones to the lesser-known ones. Get familiar with and learn design patterns through moderately realistic examples.
- Specification pattern: C# implementation - Vladimir Khorikove
- Implementing Query Specification pattern in Entity Framework Core - Gunnar Peipman
- Using the Specification pattern with Repository and Unit of work - Akos Nagy
- Specification
- Specification Pattern in ASP.NET Core – Enhancing Generic 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 Repository Pattern isn’t an Anti-Pattern; You’re just doing it wrong.
- 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
- Decorator Pattern in .NET Core 3.1
- Beyond Basics - ASP.Net Core Using the Decorator Pattern
- Decorator pattern with C# and DotNet Core
- The Factory Pattern In .NET Core - DotnetCoreTutorials
-
6 Ways To Implement The Strategy Pattern In C# (Basic To Advanced)
-
Implement Custom Logic for Clients using the Strategy and Factory Design Patterns
- Cloud Design Patterns - Microsoft
- Cloud Computing Patterns - CloudComputingPatterns
- https://github.com/mspnp/cloud-design-patterns > Prescriptive Architecture Guidance for Cloud Applications
- Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications (Microsoft patterns & practices)
- Cloud Architecture Patterns: Using Microsoft Azure
- Anti-Corruption Layer pattern
- Gateway
- The Anti-Corruption Layer Pattern
- Anti-Corruption Layer: How to Keep Legacy Support from Breaking New Systems
- MICROSERVICES ARCHITECTURE GATEWAY PATTERN - DOS AND DON'TS
- Gateway Aggregation pattern
- Gateway Offloading pattern
- VisualReCode/Cocoon > An implementation of the Strangler Fig pattern for ASP.NET Core
- At-least-once Delivery - cloudcomputingpatterns.org
- The Outbox Pattern - Kamil Grzybek
- Exactly-once Delivery - cloudcomputingpatterns.org
- Design a DDD-oriented microservice - Microsoft
- PPPDDD.1 – What is Domain Driven Design? - Herberto Graca
- PPPDDD.2 – Distilling the Problem Domain - Herberto Graca
- PPPDDD.3 – Focusing on the Core Domain - Herberto Graca
- A Brief Intro to Clean Architecture, Clean DDD, and CQRS - Jacobs Data
- A Basic Intro to Domain-Driven Design - Jacobs Data
- A Template for Clean Domain-Driven Design Architecture - Jacobs Data
- Tackling Complexity in the Heart of DDD - Vladik Khononov
- Strategic Domain-Driven Design
- Domain Driven Design re-distilled
- A Basic Intro to Domain-Driven Design
- DDD and avoiding CRUD
- Domain-centric vs data-centric approaches to software development
- Experiences Going From Data-Driven Development to Domain-Driven Design
- 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 Architectures are Cool, but Why ?
- Clean Architecture : Part 1 – Database vs Domain
- Domain Centric Architecture ve Domain Driven Design
- AVOID Entity Services by Focusing on Capabilities
- Domains and Subdomains
- Scaffold Your Clean DDD Web Application - Part 6: Domain-Driven Design Workflow Patterns
- Domain-Driven Architecture Diagrams
- 3 things that will make or break your project
-
Cross-platform .NET sample microservices and container based application that runs on Linux Windows and macOS. Powered by .NET 5, Docker Containers and Azure Kubernetes Services. Supports Visual Studio, VS for Mac and CLI based environments with Docker CLI, dotnet CLI, VS Code or any other code editor.
-
kimcu-on-thenet/ddd-net-ef-core
Self study: DDD, .net core, entity framework core
-
blog-core - Thang Chung
Modular blog using Blazor with clean domain-driven design patterns
-
practical-clean-ddd Thang Chung
The repository uses the eCommerce business domain to demonstrate how to apply Domain Driven Design, Clean Architecture, and Microservice Architecture patterns.
-
ddd-guestbook - Steve Smith
A DDD guestbook example written for ASP.NET Core
-
run-aspnetcore - AspNetRun
A starter kit for your next ASP.NET Core web application. Boilerplate for ASP.NET Core reference application, demonstrating a layered application architecture with applying Clean Architecture and DDD
-
run-aspnetcore-realworld - AspNetRun
E-Commerce real world example of run-aspnetcore ASP.NET Core web application. Implemented e-commerce domain with clean architecture for ASP.NET Core reference application, demonstrating a layered application architecture with DDD best practices.
-
gothinkster/aspnetcore-realworld-example-app
ASP.NET Core backend implementation for RealWorld
-
Sample implementation and comparison of various approaches to building DDD applications. Useful as a baseline to quickly start a DDD dot net project.
-
CQRS and Clean Domain-Driven Design concepts on the ASP.NET Core stack. Demo application for a fictional corporate organization management tool.
-
A comprehensive Domain-Driven Design example with problem space strategic analysis and various tactical patterns.
-
.NET event sourced domain driven design model via NServiceBus and GetEventStore
-
Fork of dotnet-architecture/eShopOnContainers in full DDD/CQRS design using my own patterns
-
Modular Monolith Java application with DDD
-
The coolstore website on modular monolith approach
-
Full Modular Monolith application with Domain-Driven Design approach.
-
Confab is an open source project using modular monolith architecture written in
-
A full-stack .NET microservices build on Dapr and Tye
-
Free and Open Source Ecommerce Shopping Cart solution based on ASP.NET CORE and MongoDB
-
Open Source ASP.NET MVC Enterprise eCommerce Shopping Cart Solution
-
Open Source ASP.NET Core Enterprise eCommerce Shopping Cart Solution
-
VirtoCommerce Storefront for ASP.NET Core 3.1 repository
-
VirtoCommerce/vc-module-customer
Contacts management module
-
VirtoCommerce Platform repository
-
The most popular open-source eCommerce shopping cart solution based on ASP.NET Core
-
Craftsman is the workhorse behind the Wrapt framework and provides a suite of CLI commands for quickly scaffolding out new files and projects for your .NET Web APIs with simple CLI commands and configuration files.
-
Full ASP.NET Core 3.1 LTS application with DDD, CQRS and Event Sourcing
-
A lightweight ASP.NET Core SPA (Angular) showcase of Domain-Driven Design, CQRS, and Event Sourcing.
-
A simple web application for devBetter
-
Async/await first CQRS+ES and DDD framework for .NET
- Implement value objects
- The hidden value of the Value Object
- DDD Value Objects With Entity Framework Core
- Value Object: a better implementation - Vladimir Khorikov
- C# 9 Records as DDD Value Objects - Vladimir Khorikov
- Entities, Value Objects, Aggregates and Roots
- Listing Strongly Typed Enum Options in C#
- Enum Alternatives in C#
- 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
- milannankov/EfCoreValueObjects > Illustrates support for value object with Entity Framework Core 2.2
- Value
a pico library (or code snippets shed) to help you to easily implement Value Types in your C# projects without making errors nor polluting your domain logic with boiler-plate code.
- ValueOf
Deal with Primitive Obsession - define ValueObjects in a single line (of C#).
- WrapperValueObject
A .NET source generator for creating simple value objects wrapping primitive types.
- Qowaiv
Qowaiv is a Single Value Object library
- 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
- Design validations in the domain model layer - Microsoft
- 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
- Attributes of Clean Domain Model
- Domain Model Encapsulation and PI with Entity Framework 2.2 - Kamil Grzybek
- Strengthening your domain: a primer
- Persistence model and domain anemia
- The Anemic Domain Model Pattern
- Strengthening your domain: Aggregate Construction
- How to create fully encapsulated Domain Models
- Strategic DDD — Distilling the problem domain
- Strategic DDD — Focusing on the Core Domain
- AVOID Entity Services by Focusing on Capabilities - CodeOpinion
- Context is King: Finding Service Boundaries
- Defining Service Boundaries by Splitting Entities
- BoundedContext
- Strategic DDD — Bounded Contexts
- Bounded Context
- Domain services vs Application services - Vladimir Khorikove
- Implement the microservice application layer using the Web API - Microsoft
- Simple CQRS implementation with raw SQL and DDD - Kamil Grzybek
- How to publish and handle Domain Events - Kamil Grzybek
- Handling Domain Events: Missing Part - Kamil Grzybek
- The Outbox Pattern - Kamil Grzybek
- Domain Events – Salvation
- Domain events: design and implementation - Microsoft
- Events on the outside, on the inside and at the core
- Strengthening your domain: Domain Events - Jimmy Bogard
- Don't publish Domain Events, return them!
- A better domain events pattern - Jimmy Bogard
- Implementing event-based communication between microservices (integration events) - Microsoft
- DDD and Messaging Architectures - Mathias Verraes
- Domain events: simple and reliable solution - Vladimir Khorikove
- Domain Events Pattern Example
- Design validations in the domain model layer - Microsoft
- 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
- When to validate commands in CQRS? - Vladimir Khorikove
- 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
- CQRS and exception handling - Vladimir Khorikove
- Error handling: Exception or Result? - Vladimir Khorikove
- What is an exceptional situation in code? - Vladimir Khorikove
- Validation and DDD
- GuardClauses > A simple package with guard clause extensions.
- Design the infrastructure persistence layer - Microsoft
- Implement the infrastructure persistence layer with Entity Framework Core - Microsoft
- Use NoSQL databases as a persistence infrastructure - Microsoft
- Scaffold Your Clean DDD Web Application - Part 3: Persistence, Tenancy, and the Data Model - John Jacobs
- Processing multiple aggregates – transactional vs eventual consistency - Kamil Grzybek
- Handling concurrency – Aggregate Pattern and EF Core - Kamil Grzybek
- Aggregate (Root) Design: Behavior & Data - CodeOpinion
- Strengthening your domain: Aggregate Construction
- Idempotent Aggregates
- Aggregate (Root) Design: Separate Behavior & Data for Persistence - CodeOpinion
- Adding Aggregate Example to Clean Architecture solution template - Steve Smith
- Aggregate Design: Using Invariants as a Guide - CodeOpinion
- Scaffold Your Clean DDD Web Application - Part 5: Domain-Driven Design Entity Mapping Strategies - John Jacobs
- Series: Enumeration Classes – DDD and beyond
- Enumeration classes
- Use enumeration classes instead of enum types
- Introduction to Enumeration Classes
- Enumeration class and JSON Serialization
- Reference data as code
- Enum Alternatives in C#
- Listing Strongly Typed Enum Options in C#
- AnemicDomainModel
- What is Anemic Domain Model and why it can be harmful? - Daniel Rusnok
- Anemic Model x Rich Model
- Anemic Model
- My Take On Domain Primitives - Sven Hübner
- Domain Primitives I: easily declaring domain primitives - Sven Hübner
- Domain Primitives: what they are and how you can use them to make more secure software
- Strategic Domain-Driven Design - Vaadin
- What is Strategic Design ?
- Strategic DDD — Distilling the problem domain
- Strategic DDD — Focusing on the Core Domain
- Strategic DDD — Bounded Contexts
- Creating a simple data-driven CRUD microservice
- Domain-centric Architectures are Cool, but Why ?
- Domain-centric vs data-centric approaches to software development
- Clean Architecture : Part 1 – Database vs Domain
- Domain Centric Architecture ve Domain Driven Design
- AVOID Entity Services by Focusing on Capabilities
- Creating N-Tier Applications in C#, Part 1
- Java EE: Design Patterns and Architecture
- AVOID Entity Services by Focusing on Capabilities
- Decomposing CRUD to a Task Based UI
- Command and Query Responsibility Segregation (CQRS) pattern - Microsoft
- Simple CQRS implementation with raw SQL and DDD - Kamil Grzybek
- 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
- EF Core – Combining SQL and NoSQL databases for better performance
- CQRS facts and myths explained - Oskar Dudycz
- CQRS - Greg Young
- CQRS, Task Based UIs, Event Sourcing agh! - Greg Young
- Command Query Separation? - Greg Young
- Processing multiple aggregates – transactional vs eventual consistency
- What is CQRS?
- Task-Based UI
- Put your controllers on a diet: GETs and queries
- 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 7: CQRS, Part 2 – ReadSideProcessor for queries and views
- Reactive in practice, Unit 8: CQRS, Part 3 – ReadSideProcessor for transactions
- CQRS with MediatR and AutoMapper
- Meanwhile... on the command side of my architecture
- Meanwhile... on the query side of my architecture
- MVC Controllers are Dinosaurs - Embrace API Endpoints - Steve Smith
- Moving from Controllers and Actions to Endpoints with MediatR - Steve Smith
- CQRS snippets
- CQRS Simple Architecture
- Brighter Commands
- CQRS with Entity Framework Core
- A .Net5 Sample Using CQRS(Command Query Responsibility Segregation) And MediatR Patterns
- CQRS with MediatR and AutoMapper
- Thin Controllers with CQRS and MediatR
- Are CQRS commands part of the domain model?
- CQS with Database-Generated Ids
- CQRS and exception handling
- When to validate commands in CQRS?
- Java EE: Design Patterns and Architecture
- Decomposing CRUD to a Task Based UI
- CQRS Myths | 3 Most Common Misconceptions
- Is a REST API with CQRS Possible?
- Organizing (Commands, Events & Handlers) in Microservices/SOA
- CQRS Myths | 3 Most Common Misconceptions
-
A lightweight framework to help creating CQRS and Eventsourcing applications in C#
-
Async/await first CQRS+ES and DDD framework for .NET
-
sample-dotnet-core-cqrs-api - Kamil Grzybek
Sample .NET Core REST API CQRS implementation with raw SQL and DDD using Clean Architecture.
-
run-aspnetcore-cqrs - AspNetRun
Real world Enterprise CRM application example of ASP.NET Core + Angular web application. Implemented CQRS Design Pattern for ASP.NET Core + Angular reference application, demonstrating a layered application architecture with DDD
-
A simple project to explain CQRS during a live coding session at MS experiences'16
-
🙌 ASP.NET Core 3.1 应用, 包含 DDD、CQRS、EDA 和 ES 事件回溯
-
A mini Reddit written in ASP.NET Core 5.0
-
Free and Open Source Ecommerce Shopping Cart solution based on ASP.NET CORE and MongoDB
-
Open Source ASP.NET MVC Enterprise eCommerce Shopping Cart Solution
-
VirtoCommerce Storefront for ASP.NET Core 3.1 repository
-
VirtoCommerce Platform repository
-
Contacts management module
-
The most popular open-source eCommerce shopping cart solution based on ASP.NET Core
-
gothinkster/aspnetcore-realworld-example-app
ASP.NET Core backend implementation for RealWorld
- Event Sourcing - Martin Fowler
- About event sourcing - eventuate.io
- Event Sourcing pattern - Microsoft
- 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
- Reactive in practice, Unit 7: CQRS, Part 2 – ReadSideProcessor for queries and views
- EVENT SOURCING MICROSERVICES PATTERN
- Event Sourcing Example & Explained in plain English
- Projections in Event Sourcing: Build ANY model you want!
- Event Sourcing: Rehydrating Aggregates with Snapshots
- Event Sourcing with Azure SQL and Entity Framework Core
- What's an Event Driven System?
- eventstore webinars
- EventFlow > Async/await first CQRS+ES and DDD framework for .NET
- AggregateSource > Lightweight infrastructure for doing eventsourcing using aggregates
- Projac > A set of .NET projection libraries
-
Hands-On-Domain-Driven-Design-with-.NET-Core - Alexey Zimarev
-
Aggregates.NET > .NET event sourced domain driven design model via NServiceBus and GetEventStore
-
eShopOnContainersDDD > Fork of dotnet-architecture/eShopOnContainers in full DDD/CQRS design using my own patterns
-
ProductContext-EventSourcing > A practical/experimental Event Sourcing application on Product Bounded Context in an e-commerce
- .NET Microservices Architecture Guidance - Microsoft
- Awesome Microservices .NET Core - Mohammad Ebrahimi
- .NET Microservices: Architecture for Containerized .NET Applications - Microsoft
- Cloud-Native learning resources for .NET developers
- Design a microservice-oriented application
- Creating a simple data-driven CRUD microservice
- 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
- Use NoSQL databases as a persistence infrastructure
- 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
- Communication in a microservice architecture
- Asynchronous message-based communication
- 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
- Designing Loosely Coupled Microservices
- 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
- 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
-
Tye is a tool that makes developing, testing, and deploying microservices and distributed applications easier. Project Tye includes a local orchestrator to make developing microservices easier and the ability to deploy microservices to Kubernetes with minimal configuration.
-
🚌 Simple and lean service bus implementation for .NET
-
Confluent's Apache Kafka .NET client
-
Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern
-
Distributed Application Framework for .NET
-
Command Dispatcher, Processor, and Distributed Task Queue
-
YARP: A toolkit for developing high-performance HTTP reverse proxy applications.
-
Open Source Web Application Framework for ASP.NET Core
-
.NET Standard framework to create simple and clean design. Advanced features for DDD, CQRS and Event Sourcing.
-
Microdot: An open source .NET microservices framework
-
Steeltoe .NET Core Components: CircuitBreaker, Configuration, Connectors, Discovery, Logging, Management, and Security
-
Pluggable foundation blocks for building distributed apps.
-
.Net Standard Libraries for Microservices
-
Fast multi-transport messaging framework
-
Decentralized asynchronous messaging framework
-
MicroBus is a simple in process Mediator for .NET > MicroBus is a simple in process Mediator for .NET
-
A simple mediator for .Net for sending command, publishing event and request response with pipelines supported
-
Command Dispatcher, Processor, and Distributed Task Queue
-
The query-side counterpart of Brighter
-
Surging is a micro-service engine that provides a lightweight, high-performance, modular RPC request pipeline. The service engine supports http, TCP, WS,Grpc, Thrift,Mqtt, UDP, and DNS protocols. It uses ZooKeeper and Consul as a registry, and integrates it. Hash, random, polling, Fair Polling as a load balancing algorithm,
-
集合.net core、ocelot、consul、netty、rpc、eventbus、configserver、tracing、sqlsugar、vue-admin、基础管理平台等构建的微服务一条龙应用
-
Unified Realtime/API framework for .NET platform and Unity.
-
Async/await first CQRS+ES and DDD framework for .NET
-
Cross-platform .NET sample microservices and container based application that runs on Linux Windows and macOS. Powered by .NET 5, Docker Containers and Azure Kubernetes Services. Supports Visual Studio, VS for Mac and CLI based environments with Docker CLI, dotnet CLI, VS Code or any other code editor.
-
coolstore-microservices - Thang Chung
A full-stack .NET microservices build on Dapr and Tye
-
practical-dapr - Thang Chung
A full-stack .NET microservices build on Dapr and Tye
-
DDD+CQRS+EventSourcing+Hypermedia API+ASP.NET Core 3.1+Masstransit+terraform+docker+k8s
-
Fork of dotnet-architecture/eShopOnContainers in full DDD/CQRS design using my own patterns
-
An example of building .NET Core microservices with Dapr and Tye
-
run-aspnetcore-microservices - AspNetRun
Microservices on .Net platforms which used Asp.Net Web API, Docker, RabbitMQ, Ocelot API Gateway, MongoDB, Redis, SqlServer, Entity Framework Core, CQRS and Clean Architecture implementation. See Microservices Architecture and Step by Step Implementation on .NET Course w/ discount
-
run-aspnet-identityserver4 - AspNetRun
Secure microservices with using standalone Identity Server 4 and backing with Ocelot API Gateway. Protect our ASP.NET Web MVC and API applications with using OAuth 2 and OpenID Connect in IdentityServer4. Securing your web application and API with tokens, working with claims, authentication and authorization middlewares and applying policies.
-
ModernArchitectureShop - Bassam Alugili
The Microservices Online Shop is an application with a modern software architecture that is cleanly designed and based on.NET lightweight technologies. The shop has two build variations. The first variant is the classic Microservices Architectural Style. The second one is with Dapr. Dapr has a comprehensive infrastructure
-
run-aspnet-grpc - AspNetRun
Using gRPC in Microservices for Building a high-performance Interservice Communication with .Net 5. See gRPC Microservices and Step by Step Implementation on .NET Course w/ discount->
-
A simplified and effortless approach to get started with Domain-driven Design, Clean Architecture, CQRS, and Microservices patterns
-
Service Mesh patterns for Microservices
-
.NET event sourced domain driven design model via NServiceBus and GetEventStore
-
Framework for quickly creating enterprise microservices on .NET Core
-
Microservices ASP.NET Core + Event Bus + Kubernetes + Design Patterns
-
A sample demonstrating how to implement a multitenant facility management and accommodation booking application as native Azure Service Fabric reliable services.
-
profjordanov/realworld-microservices
Microservices based .NET Core backend implementation for RealWorld
-
https://github.com/vietnam-devs/coolstore-microservices - Thang Chung
A full-stack .NET microservices build on Dapr and Tye
-
https://github.com/thangchung/practical-dapr - Thang Chung
A full-stack .NET microservices build on Dapr and Tye
-
https://github.com/kimcu-on-thenet/dapr-tye-simple-microservices
An example of building .NET Core microservices with Dapr and Tye
-
https://github.com/alugili/ModernArchitectureShop - Bassam Alugili
The Microservices Online Shop is an application with a modern software architecture that is cleanly designed and based on.NET lightweight technologies. The shop has two build variations. The first variant is the classic Microservices Architectural Style. The second one is with Dapr. Dapr has a comprehensive infrastructure
-
Surging is a micro-service engine that provides a lightweight, high-performance, modular RPC request pipeline. The service engine supports http, TCP, WS,Grpc, Thrift,Mqtt, UDP, and DNS protocols. It uses ZooKeeper and Consul as a registry, and integrates it. Hash, random, polling, Fair Polling as a load balancing algorithm,
-
.net core、ocelot、consul、netty、rpc、eventbus、configserver、tracing、sqlsugar、vue-admin
-
Sample for GRPC + Consul + dynamic endpoint for .net
-
Service discovery kit for .NET microservices
- .NET Microservices with Steeltoe
- Steeltoe: Develop .NET Microservices Without Cloud Platform Lock-In
- Serverless Computing - The TechCave
- Microkernel Architectural Pattern | Software Architecture - The TechCave
- System Design - Tech Dummies Narendra L
- Coding and System Design Interview Questions - Success in Tech
- System Design - Gaurav Sen
- Basics of System Design - Coding Simplified
- System Design Primer Course - sudoCODE
- System Design And Interview - interviewing.io
- 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
- https://github.com/lei-hsia/grokking-system-design - LEI XIA
- https://github.com/kilimchoi/engineering-blogs
- Preparing for the Systems Design and Coding Interview
- System Design Interview
- http://highscalability.com/all-time-favorites/
- systeminterview
- Distributed Computing - The TechCave
- Software Engineering at Google
- System Design Interview – An insider's guide, Second Edition
- Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
- Cracking the Coding Interview: 189 Programming Questions and Solutions 6th Edition
- 10 common broken rules of clean code
- Coding standards
- justinamiller/Coding-Standards
- C# Coding Standards and Naming Conventions
- https://github.com/thangchung/clean-code-dotnet - Thang Chung
🛁 Clean Code concepts and tools adapted for .NET
- Put your controllers on a diet: GETs and queries
- Put your controllers on a diet: POSTs and commands - Jimmy Bogard
- CQRS with MediatR and AutoMapper
- Thin Controllers with CQRS and MediatR
- Using C# 9 records as strongly-typed ids
- Series: Using strongly-typed entity IDs to avoid primitive obsession
- Anti Patterns - DevIQ
- Code Smells - DevIQ
- Messaging patterns - Microsoft
- Communication in a microservice architecture - Microsoft
- Asynchronous message-based communication - Microsoft
- Modular Monolith: Integration Styles - Kamil Grzybek
- Marrying RESTful HTTP with Asynchronous and Event-Driven Services
- DDD and Messaging Architectures - Mathias Verraes
- Asynchronous Messaging Patterns
- Messaging Patterns Overview
- Service Activator
- Message Properties
- Message Naming Guidelines
- Organizing (Commands, Events & Handlers) in Microservices
- REST APIs for Microservices? Beware!
- Messaging Commands & Events Explained!
- Event Choreography & Orchestration (Sagas)
- 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
- Processing commands with Hangfire and MediatR - Kamil Grzybek
- Using Hangfire and MediatR as a Message Dispatcher
- Idempotent Aggregates
- Identify Commands & Events
- Idempotent Commands
- Moving work Out-of-Process using Brighter and RabbitMQ
- Thin vs Fat Integration Events
- Events: Fat or Thin
- Events on the Outside vs Events on the Inside
- Patterns for Decoupling in Distributed Systems: Fat Event
- Message Sender: Who Sent the Command/Event?
- Why use DTOs (Data Transfer Objects)?
- Event Versioning Guidelines
- Fat vs thin domain events
- Putting your events on a diet
- What do you mean by “Event-Driven”?
- Are CQRS commands part of the domain model?
- DTO vs Value Object vs POCO
- Handling Concurrency with Message-IDs | Event Driven Architecture
- Message Naming Guidelines | Event Driven Architecture
- Event Versioning Guidelines
- Organizing (Commands, Events & Handlers) in Microservices/SOA
- 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?
- GOTO 2017 • The Many Meanings of Event-Driven Architecture • Martin Fowler
- On .NET Live - Messaging Patterns for .NET Developers
-
MicroBus is a simple in process Mediator for .NET
-
A common interface with in memory, redis and azure implementations.
-
.NET Standard framework to create simple and clean design. Advanced features for DDD, CQRS and Event Sourcing.
-
A simple mediator for .Net for sending command, publishing event and request response with pipelines supported.
-
TTnet is a high performance .NET library for MQTT based communication.
-
.NET Core library for DDD, CQRS and Event Sourcing with Azure Service Bus integration. Supported database providers for the Command and the Event stores are: DocumentDB, MongoDB, SQL Server, MySQL, PostgreSQL and SQLite.
-
Simple and lean service bus implementation for .NET.
-
Messaging library for RabbitMq.
-
Simple, easy to use library for distributed job/worker logic. Distributed messages handled by built in RabbitMQ implementation.
-
Steeltoe .NET Core Components: CircuitBreaker, Configuration, Connectors, Discovery, Logging, Management, and Security
-
Lightweight messaging wrapper of
-
Open Source Web Application Framework for ASP.NET Core
-
OpenSleigh is a Saga management library for .NET Core.
-
Fast multi-transport messaging framework
-
Lightweight message bus interface for .NET (pub/sub and request-response) with transport plugins for popular message brokers.
-
Silverback is a simple but feature-rich framework to build reactive/event-driven applications or microservices with .net core.
-
An observable microservice bus library for .NET, that wraps the underlying message transports in simple Rx based interfaces.
-
Decentralized asynchronous messaging framework
-
A .NET Core ultra lightweight in-memory event bus implementation.
-
.Net Standard Libraries for Microservices
-
A simple Event Bus abstraction layer for working with events in .NET.
-
AzureFromTheTrenches.Commanding
A configuration based commanding and mediator framework that supports command dispatch and execution in-process, over HTTP or over Azure Storage Queues. Written to .NET Standard 2.0 and supports many popular runtimes including .NET Core and .NET 4.6.x.
-
Command Dispatcher, Processor, and Distributed Task Queue
-
The query-side counterpart of Brighter
-
MassTransit > Distributed Application Framework for .NET
-
Framework for quickly creating enterprise microservices on .NET Core
-
A simple In-Process Message Bus for .NET
-
Pure In-Memory Publish/Subscribe .NET Bus
-
Unified Realtime/API framework for .NET platform and Unity.
-
Async/await first CQRS+ES and DDD framework for .NET
- Event-Driven Architecture with Apache Kafka for .NET Developers Part 1 - Event Producer
- Event-Driven Architecture with Apache Kafka for .NET Developers Part 2 - Event Consumer
- Event-Driven Architecture with Apache Kafka for .NET Developers Part 3 - Azure Event Hubs
- https://github.com/kgrzybek/efcore-concurrency-handling > A repository showing how to handle concurrent conflicts using EntityFramework Core and DDD Aggregates
- Processing multiple aggregates – transactional vs eventual consistency
- Eventual Consistency for Mere Mortals
- Modular Monolith: A Primer
- My experience of using modular monolith and DDD architectures
- Modular Monolith: Architectural Drivers
- Modular Monolith: Architecture Enforcement
- MonolithFirst
- My experience of using the Clean Code architecture with a Modular Monolith
- My experience of using modular monolith and DDD architectures
- Modular programming: Beyond the spaghetti mess
- 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
-
https://github.com/kgrzybek/modular-monolith-with-ddd - Kamil Grzybek
Full Modular Monolith application with Domain-Driven Design approach.
-
https://github.com/kgrzybek/modular-monolith-with-ddd-fe-react - Kamil Grzybek
FrontEnd React application for Modular Monolith With DDD repository and system
-
https://github.com/phongnguyend/Practical.CleanArchitecture > Asp.Net Core 5 Clean Architecture (Microservices, Modular Monolith, Monolith) samples (+Blazor, Angular 11, React 17, Vue 2.6), Domain-Driven Design, CQRS, Event Sourcing, SOLID, Asp.Net Core Identity Custom Storage, Identity Server 4 Admin UI, Entity Framework Core, Selenium E2E Testing, SignalR Notification, Hangfire Tasks Scheduling
-
https://github.com/thangchung/blog-core > Modular blog using Blazor with clean domain-driven design patterns
-
https://github.com/ddd-by-examples/library > A comprehensive Domain-Driven Design example with problem space strategic analysis and various tactical patterns.
-
https://github.com/simplcommerce/SimplCommerce > A simple, cross platform, modularized ecommerce system built on .NET Core
-
https://github.com/spetz/NPost > Modular Monolith sample
-
https://github.com/devmentors/Cine > Modular monolith in .NET Core
-
https://github.com/anton-liauchuk/educational-platform > Modular Monolith Java application with DDD
-
VirtoCommerce/vc-storefront > VirtoCommerce Storefront for ASP.NET Core 3.1 repository
-
grandnode/grandnode > Free and Open Source Ecommerce Shopping Cart solution based on ASP.NET CORE and MongoDB
-
smartstore/SmartStoreNET > Open Source ASP.NET MVC Enterprise eCommerce Shopping Cart Solution
-
nopSolutions/nopCommerce > The most popular open-source eCommerce shopping cart solution based on ASP.NET Core
- GOTO 2018 • Modular Monoliths • Simon Brown
- Modular monoliths (Simon Brown) - 2016
- Modular monoliths by Simon Brown
- Munich .NET Meetup: Modular Monolith Architecture - One to rule them all
- Majestic Modular Monoliths by Axel Fontaine
- 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
- Microsoft REST API Guidelines
- Design Guidelines
- Web API design
- Richardson Maturity Model
- RESTful API Design: 13 Best Practices to Make Your Users Happy
- Best Practices for Designing a Pragmatic RESTful API
- Design Guidelines
- The Web API Checklist -- 43 Things To Think About When Designing, Testing, and Releasing your API
- Design Topics
- OpenAPI Specification
- 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](https://medium.com/wix-engineering/4-microservices-caching-patterns-at-wix-b4dfee1ae22f
- REDIS VS MEMCACHED: WHICH ONE TO CHOOSE?
- 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
- “Red(e)isign” Publish/Subscribe with Redis
- Hybrid Caching
- Package by component and architecturally-aligned testing - Simon Brown
- Schools of Package Architecture - An Illustration
- The refactoring test (1) - Dependency Inversion & Unit tests | Cracking the .NET interview
- The refactoring test (2) - Open-Closed, Single Responsibility | Cracking the .NET interview
- 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
- https://github.com/Daniel-Krzyczkowski/MicrosoftAzure > Microsoft Azure code samples.
- 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
- 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)
- https://github.com/Daniel-Krzyczkowski/AzureDeveloperTemplates > This repository contains helpful code templates for Azure cloud developers.
- 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
- Data Modeling 101
- UML Notation
- UML Association vs Aggregation vs Composition
- UML Class Diagram Tutorial with Examples
- What is Class Diagram?
- Data Modeling 101
- UML 2 Class Diagramming Guidelines
- Data Modeling 101
- 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?
- A Comparison of Data Modeling Techniques
- Creating Entity Relationship Diagrams using Draw.io
- Entity Relationship Diagram (ERD) Tutorial - Part 1
- Entity Relationship Diagram (ERD) Tutorial - Part 2
- A Comparison of Data Modeling Techniques
- IDEF1X Data Model Notation
- Richard Barker Data Model Notation
- Information Engineering Data Model Notation
- Crow’s Foot Notation
- Chen Notation
- Barker’s Notation
- UML Notation
- Data Modelling: Conceptual, Logical, Physical Data Model Types
- Data Modeling - Conceptual Data Model
- Conceptual Model
- How to Implement a Conceptual, Logical, and Physical Data Model in Vertabelo
- What Are Conceptual, Logical, and Physical Data Models?
- 5 Examples of Conceptual Data Models
- Data Modeling 101
- Conceptual Data Modeling with Diagrams.Net
- Get a Head Start with Entity Framework Core 5.0 with EF Core Power Tools
- How to Implement a Conceptual, Logical, and Physical Data Model in Vertabelo
- What Are Conceptual, Logical, and Physical Data Models?
- Vertabelo Features: Logical Diagrams
- How to Implement a Conceptual, Logical, and Physical Data Model in Vertabelo
- What Are Conceptual, Logical, and Physical Data Models?
- How to Create Physical Diagrams in Vertabelo
- Reverse Engineering With Vertabelo
- Diagrams.Net
- Vertabelo
- Reverse engineering - vertabelo
- LucidChart
- Top 7 Entity Relationship (ER) Diagram Online Tools
- Visual Paradigm
- Creately
- https://github.com/mariuszgil/awesome-eventstorming
- https://github.com/ddd-crew/eventstorming-glossary-cheat-sheet
- https://github.com/wwerner/event-storming-cheatsheet
- Reactive in practice, Unit 1: Event storming the stock trader domain
- Event Storming
- Event storming analysis
- 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
- More Efficient Domain Modeling with EventStorming
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- Detailed agenda for a DDD Design-Level Event Storming - part 1
- 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
- EventStorming; Core concepts, glossary and legend
- A step by step guide to Event Storming – our experience
- EventStorming – From Big Picture to Software Design
- What is EventStorming?
- The introduction to Big Picture Eventstorming.v1
- The introduction to Big Picture Eventstorming.v2
- Event Storming: How It Will Improve Your Business Processes?
- Remote EventStorming
- EventStorming cheat sheet
- EventStorming tools, what is in my flight case!
- Discovering complex domain with Event Storming
- Decomposing the Monolith with Event Storming
- Big Picture Event Storming
- EventStorming cheat sheet
- Scoping and Organizing .NET Microservices Using Event Storming
- GOTO 2018 • 50.000 Orange Stickies Later • Alberto Brandolini
- Crunching 'real-life stories' with DDD & Event Storming - Kenny Baas-Schwegler - KanDDDinsky 201
- Event Storming demo & discussion
-
https://github.com/RagDhiman/M4-Organizing-Your-.NET-Microservices-MegaService > Scoping and Organizing .NET Microservices Using Event Storming
-
https://github.com/RagDhiman/M4-Organizing-Your-.NET-Microservices-Organized > Scoping and Organizing .NET Microservices Using Event Storming
-
https://github.com/RagDhiman/Miro-Event-Storming-Steps-JPEGs > Scoping and Organizing .NET Microservices Using Event Storming
-
https://github.com/RagDhiman/Miro-Event-Storming-Steps > Scoping and Organizing .NET Microservices Using Event Storming
- Introducing EventStorming - Alberto Brandolini
- Uber
- Netflix Engineering Blog
- Netflix Architecture Blog
- Spotify Engineering Blog
- Amazon
- Amazon Architecture blog
- https://github.com/kilimchoi/engineering-blogs
- Microsoft Application Architecture Guide, 2nd Edition
- Lean Architecture: for Agile Software Development Paperback – Illustrated, 13 July 2010
- Patterns of Enterprise Application Architecture
- 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
- Agile Principles, Patterns, and Practices in C#
- .NET Microservices: Architecture for Containerized .NET Applications
- 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
- System Design Interview – An insider's guide, Second Edition
- Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services
- Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
- Software Architecture with C# 9 and .NET 5 - Second Edition
- An Atypical ASP.NET Core 5 Design Patterns Guide
- 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
-
How to Learn Software Design and Architecture | The Full-stack Software Design & Architecture Map
-
https://github.com/Developer-Y/Scalable-Software-Architecture
-
System Design - Tech Dummies Narendra L
An organized learning path about Clean Code, Test-Driven Development, Legacy Code, Refactoring, Domain-Driven Design and Microservice Architecture