Command Query Responsibility Segregation — separate read and write models with MediatR and event sourcing.
Five passes over the same idea, each from a different angle. Do them in order, or jump to whichever you need.
CQRS separates read (Query) and write (Command) operations into different models. Benefits: independent scaling, optimized read models, and clear intent. Implementation with MediatR (IRequest/IRequestHandler), command validation (FluentValidation), and optional event sourcing. Not always needed — use when read/write patterns diverge.