Patterns & Abstractions

Patterns and Abstractions My central architectural pattern of choice is CQRS. Commands Actions that change something and return nothing public interface ICommandHandler<TCommand> where TCommand : ICommand { void Run(TCommand command); } Queries Actions that return something and change nothing public interface IQuery<TResult> { } public interface IQueryHandler<TQuery, TResult> where TQuery : IQuery<TResult> { TResult Execute(TQuery query); } Mediators A combination… Read more →