Architecture
Software design principles, patterns, domain modeling, and diagramming techniques.
Pages
- Principles — OOP principles: abstraction, encapsulation, inheritance, and polymorphism
- SOLID — SOLID programming principles for object-oriented application design
- Domain Driven Design — Domain-Driven Design (Eric Evans): bounded contexts, aggregates, and ubiquitous language
- Strengthening Your Domain — Jimmy Bogard’s techniques for building rich domain models
- Design Patterns — GoF (Gang of Four) design patterns: creational, structural, and behavioral
- UML — UML class diagrams: relationships, components, and notation
- Structurizr —
StructurizrC4 model architecture-as-code tooling and static site generators - Modular Monoliths — modular monolith architecture: blog series on DDD, migration to microservices, and bounded contexts
- Event Sourcing —
Martendocument DB and event store on PostgreSQL, CQRS command handler workflow, and the Critter Stack
Resources
Awesome Software Architecture 1a — a curated list of articles, videos, and resources to learn and practice software architecture, patterns, and principles; source 2a
CQRS
CQRS (Command Query Responsibility Segregation) topic on GitHub cqrs-topic
Awesome .NET Tips — CQRS link collection cqrs-awesome
kgrzybek/modular-monolith-with-ddd — full modular monolith application with DDD and CQRS approach kgrzybek-mm
ASP.NET Core CRUD with CQRS and MediatR yogyogi-cqrs
Xer.Cqrs.CommandStack on NuGet xer-nuget / GitHub xer-gh
Its.Cqrs library its-cqrs
GitHub search examples for CQRS cqrs-search
Revo Framework Task List sample — CQRS and event sourcing with Revo revo-tasklist
CQRS with MediatR in ASP.NET Core (Code Maze) cqrs-codemaze