Architecture and design patterns for distributed systems and domain-driven design, each with a short C# and TypeScript example, when to use it, and when to avoid it.
The patterns ARG Software uses on production systems, each explained with the problem it solves, a short C# example, a short TypeScript example, and when to avoid it.
Patterns cover distributed systems (transactional outbox, idempotent consumer, saga, event sourcing, database per service), resilience (circuit breaker), domain-driven design (aggregate, value object), and architecture (CQRS, API gateway and backend for frontend).