Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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 Style
-
Clean Architecture
- Multiple ways of defining Clean Architecture layers
- Multiple ways of defining Clean Architecture layers
- Clean architecture - Microsoft
- Layers in DDD microservices - Microsoft
- The Clean Architecture - Uncle Bob
- Clean Architecture: Standing on the shoulders of giants - Herberto Graca
- CQRS Translated to Clean Architecture
- 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)
- 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
- 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
- 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
-
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
- 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
- Ready for changes with Hexagonal Architecture
-
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
-
📹 Videos
-
Traditional N-Layer Architecture
-
Onion Architecture
- 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
- 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
-
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
-
Event Driven Architecture
- Event-driven architecture style
- Event-Driven Architecture - Herberto Graca
- Journey to Event Driven – Part 1: Why Event-First Programming Changes Everything
- Event Driven Systems
- Developing a Successful End-to-End Complex Event Processing Strategy
- 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
- 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
- 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?
- 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
- GOTO 2020 • The Power of Event-Driven Systems without Burning your Hands or Budgets • Allard Buijze
-
Service Oriented Architecture
-
-
Architectural Patterns
-
Microservices
- 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
- 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
- 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
-
Domain Driven Design - Domain Centric
- The Outbox Pattern - Kamil Grzybek
- PPPDDD.1 – What is Domain Driven Design? - Herberto Graca
- A Basic Intro to Domain-Driven Design - Jacobs Data
- 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
- 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
- https://contextmapper.org
- 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
- 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
- Domain events: design and implementation - Microsoft
- 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
- 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
- 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
-
📹 Videos
-
Data Driven Design (Data Centric)
- Domain-centric vs data-centric approaches to software development
- Creating N-Tier Applications in C#, Part 1
- Java EE: Design Patterns and Architecture
- 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
- What is CQRS?
- 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
- Brighter Commands
- CQRS with Entity Framework Core
- 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
- When to validate commands in CQRS?
- Simple CQRS implementation with raw SQL and DDD - Kamil Grzybek
- CQRS and exception handling
- 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
-
Exceptions & Validation
- 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
- 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
- Aggregate (Root) Design: Separate Behavior & Data for Persistence - CodeOpinion
- 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
- 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
- Tactical Domain-Driven Design - Vaadin
- DDD — Tactical Design Patterns
- What is Tactical Design ?
- What is Strategic Design ?
- Design validations in the domain model layer - Microsoft
- Domain Primitives I: easily declaring domain primitives - Sven Hübner
- Listing Strongly Typed Enum Options in C#
- Strategic DDD — Focusing on the Core Domain
- Strengthening your domain: Aggregate Construction
- Adding Aggregate Example to Clean Architecture solution template - Steve Smith
- Enum Alternatives in C#
- Strategic DDD — Distilling the problem domain
- Strategic DDD — Bounded Contexts
- Domain Primitives: what they are and how you can use them to make more secure software
-
Event Sourcing
- 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
- Projections in Event Sourcing: Build ANY model you want!
- 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?
-
Observibility
-
Dapr
-
Service Discovey
-
Tye
-
Steeltoe
-
Library
-
-
Modeling
-
Class Diagram (Class Modeling)
- What is Class Diagram?
- What is Class Diagram?
- What is Class Diagram?
- UML Class Diagram Tutorial with Examples
- What is Class Diagram?
- UML 2 Class Diagramming Guidelines
- 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?
-
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
-
Data Model Notations
-
Use Case Diagram
-
Component 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
-
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
- More Efficient Domain Modeling with EventStorming
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
- EventStorming – From Big Picture to Software Design
- EventStorming cheat sheet
- 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
- 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
- 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
- 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
- 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
- EventStorming; Core concepts, glossary and legend
- Modelling Reactive Systems with Event Storming and Domain-Driven Design
-
Books
- Introducing EventStorming - Alberto Brandolini
-
📹 Videos
-
Samples
-
-
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 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 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 Architecture Blog
- Netflix Engineering 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
-
📹 Videos
- DevTernity 2016: Simon Brown - The Art of Visualising Software Architecture
- GOTO 2018 • Modular Monoliths • Simon Brown
- Modular monoliths by Simon Brown
- Structurizr C4 Model series
- GOTO 2021 • Software Architecture for Developers Part 2/2 • Simon Brown & Stefan Tilkov
- 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
-
Design Patterns
-
Strategy Pattern
- SOLID Principles for C# Developers
- ASP.NET Core and the Strategy Pattern
- 6 Ways To Implement The Strategy Pattern In C# (Basic To Advanced)
- Strategy Pattern C#
- C# Design Patterns – Strategy Design Pattern
- The Strategy Pattern in C#
- Implement Custom Logic for Clients using the Strategy and Factory Design Patterns
- Design Pattern Combination – Strategy with Factory Method
- Implement Custom Logic for Clients using the Strategy and Factory Design Patterns
-
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
-
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.
-
Query Object Pattern
-
Decorator Pattern
-
Factory Pattern
- The Factory Pattern In .NET Core - DotnetCoreTutorials
- The Factory Pattern In .NET Core - DotnetCoreTutorials
-
Singleton
-
-
Architectural Design Principles
-
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
-
Dependency Inversion
-
Open/Closed Principles
-
Cross Cutting Concerns
- 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
- Principles of Good Programming
- 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
-
Exactly-Once Delivery
- Exactly-once Delivery - cloudcomputingpatterns.org
-
-
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
- Messaging patterns - Microsoft
- Asynchronous message-based communication - Microsoft
- Modular Monolith: Integration Styles - Kamil Grzybek
- Organizing (Commands, Events & Handlers) in Microservices
- REST APIs for Microservices? Beware!
- Event Choreography & Orchestration (Sagas)
- Outbox Pattern: Reliably Save State & Publish Events
- Handling Duplicate Messages (Idempotent Consumers)
- Processing commands with Hangfire and MediatR - Kamil Grzybek
- Using Hangfire and MediatR as a Message Dispatcher
- Identify Commands & Events
- Idempotent Commands
- Moving work Out-of-Process using Brighter and RabbitMQ
- Thin vs Fat Integration Events
- Events: Fat or Thin
- 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
- Events on the Outside vs Events on the Inside
- Why use DTOs (Data Transfer Objects)?
- Fat vs thin domain events
- Putting your events on a diet
- DDD and Messaging Architectures - Mathias Verraes
- Idempotent Aggregates
- What do you mean by “Event-Driven”?
-
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
-
Library
-
Books
-
Kafka
-
-
Distributed Systems Design
-
Resources
- Coding and System Design Interview Questions - Success in Tech
- System Design - codeKarle
- System Design - Tech Dummies Narendra L
- Grokking the System Design Interview
- https://github.com/lei-hsia/grokking-system-design - LEI XIA
- Preparing for the Systems Design and Coding Interview
- System Design Interview
- systeminterview
- System Design - codeKarle
- https://github.com/lei-hsia/grokking-system-design - LEI XIA
- Preparing for the Systems Design and Coding Interview
- System Design Interview
- http://highscalability.com/all-time-favorites/
- systeminterview
- https://github.com/kilimchoi/engineering-blogs
- systeminterview
- systeminterview
-
📹 Videos
- Distributed Computing - The TechCave
-
Books
-
📝 Articles
-
-
Serverless Architectural Pattern
-
📹 Videos
- Serverless Computing - The TechCave
-
-
MicroKernel Architectural Pattern
-
📹 Videos
- Microkernel Architectural Pattern | Software Architecture - The TechCave
-
-
Clean Code
-
Design Best Practices
-
Strongly Typed Ids
-
12 Factor
-
Articles
-
Thin Controllers
-
-
Anti Patterns
-
Resources
-
Code Smells
- Code Smells - DevIQ
-
-
Books
-
Books
- Lean Architecture: for Agile Software Development Paperback – Illustrated, 13 July 2010
- 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#
- 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
- 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
-
-
Other Resources
-
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
- 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
- Modular programming: Beyond the spaghetti mess
-
📹 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
-
-
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?
-
Videos
-
-
Distributed Transactions
-
Eventual Consistency
-
📝 Articles
-
-
RESTful API Design
-
Refactoring
-
Azure Application Architecture
-
Resources
-
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)
-
Azure Service Bus
-
Azure Functions
-
Azure Template
-
Categories
Architectural Patterns
249
Architectural Style
208
Modeling
110
Engineering Blogs
63
Event Storming
63
Messaging Patterns
61
Design Patterns
37
Architectural Design Principles
26
Resources
25
Books
23
Distributed Systems Design
21
Modular Monolith
19
Cloud Design Patterns
18
Azure Application Architecture
16
Caching
13
Design Best Practices
12
Clean Code
7
RESTful API Design
5
Anti Patterns
4
Other Resources
3
Refactoring
2
MicroKernel Architectural Pattern
1
Eventual Consistency
1
Distributed Transactions
1
Serverless Architectural Pattern
1
Sub Categories
📝 Articles
135
Books
95
Clean Architecture
73
Domain Driven Design - Domain Centric
68
Microservices
60
Ports And Adapters Architecture (Hexagonal Architecture)
55
Exceptions & Validation
49
Resources
42
CQRS
38
Relationships
33
📹 Videos
32
Class Diagram (Class Modeling)
31
Vertical Slice Architecture
29
Event Driven Architecture
19
ER Diagrams (Data Modeling)
19
Event Sourcing
14
Articles
13
Videos
13
Onion Architecture
12
Repository Pattern
10
Strategy Pattern
9
Cross Cutting Concerns
9
Data Driven Design (Data Centric)
8
Data Model Notations
8
Conceptual Modeling
7
Specification Pattern
7
Anti-Corruption Layer Pattern
5
Azure Active Directory (Azure AD)
5
Library
4
Traditional N-Layer Architecture
4
Strongly Typed Ids
4
Physical Modeling
4
Thin Controllers
4
Azure Service Bus
4
Kafka
3
Tools
3
Persistence Ignorance
3
KISS
3
Steeltoe
3
12 Factor
3
Service Locator
3
Decorator Pattern
3
Use Case Diagram
2
Query Object Pattern
2
Service Oriented Architecture
2
Factory Pattern
2
Observibility
2
Gateway Pattern
2
Gateway Aggregation
2
Logical Modeling
2
Samples
2
Dapr
2
Saga
2
YAGNI
2
Open/Closed Principles
1
Component Diagram
1
GRASP
1
Service Discovey
1
Code Smells
1
Minimize Coupling
1
Dependency Inversion
1
Azure Template
1
Ambassador Pattern
1
Tye
1
At-least-Once Delivery (Outbox Pattern)
1
Singleton
1
Azure Functions
1
Bulkhead Pattern
1
Exactly-Once Delivery
1
Strangler Fig pattern
1