.NET Clean Architecture
  • Features
  • Architecture
  • Patterns
  • ADRs
Star on GitHub

Architectural Decision Records

Foundational decisions that shape this Clean Architecture template.

Accepted

ADR-001: Cross-Aggregate Coordination Pattern

How to coordinate operations across multiple aggregate roots while maintaining DDD boundaries and ACID guarantees.

Read ADR-001 →
Accepted

ADR-002: Optimistic Concurrency Control

Using SQL Server ROWVERSION to prevent lost updates and handle concurrent modifications.

Read ADR-002 →
Accepted

ADR-003: Domain vs Integration Events

Separating transactional domain events from asynchronous integration events with distinct handler types.

Read ADR-003 →
Accepted

ADR-004: Outbox Pattern

Guaranteed integration event delivery with transactional consistency and migration path to message bus.

Read ADR-004 →
Accepted

ADR-005: Error Management System

Structured error handling with Result pattern and exportable error codes for frontend localization.

Read ADR-005 →
Accepted

ADR-006: Unobtrusive Mode Integration Events

Publishing integration events without coupling domain logic to infrastructure concerns.

Read ADR-006 →
  • GitHub
  • Patterns
  • Home
  • License

MIT License — Built for the .NET community