Architecture

Software design principles, patterns, domain modeling, and diagramming techniques.

Pages

  • PrinciplesOOP principles: abstraction, encapsulation, inheritance, and polymorphism
  • SOLIDSOLID programming principles for object-oriented application design
  • Domain Driven DesignDomain-Driven Design (Eric Evans): bounded contexts, aggregates, and ubiquitous language
  • Strengthening Your DomainJimmy Bogard’s techniques for building rich domain models
  • Design PatternsGoF (Gang of Four) design patterns: creational, structural, and behavioral
  • UML — UML class diagrams: relationships, components, and notation
  • StructurizrStructurizr C4 model architecture-as-code tooling and static site generators
  • Modular Monolithsmodular monolith architecture: blog series on DDD, migration to microservices, and bounded contexts
  • Event SourcingMarten document 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

«


Table of contents