A lightweight CQRS library with DDD components for building the write side of applications.
Xer.Cqrs is a lightweight .NET library that provides components for implementing the CQRS (Command Query Responsibility Segregation) pattern with Domain-Driven Design (DDD) concepts. It bundles together specialized libraries for command handling, event handling, and DDD building blocks like Aggregate Roots and Domain Events, simplifying the construction of an application's write side.
.NET developers building applications with complex business logic who want to adopt CQRS and DDD patterns without heavy framework overhead.
Developers choose Xer.Cqrs for its simplicity, modularity, and pluggability—it offers multiple handler registration options (including IoC container support) and focuses solely on the write side, avoiding unnecessary complexity.
A lightweight and easy-to-use CQRS + DDD library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports multiple registration methods including IoC container adapters for Microsoft.DependencyInjection, SimpleInjector, and Autofac, as well as attribute-based registration, providing versatility in integration.
Bundles the Xer.DomainDriven library, offering essential DDD building blocks like Aggregate Roots, Entities, and Domain Events, streamlining domain modeling.
Designed with simplicity and pluggability, allowing developers to compose a CQRS write side tailored to specific needs without being forced into a rigid framework.
Specifically targets command and event handling for the write side, avoiding bloat and keeping the library focused on its core purpose.
Critical documentation for command and event handling is hosted in separate repositories (Xer.Cqrs.CommandStack and Xer.Cqrs.EventStack), making it inconvenient for users to access comprehensive guides.
Lacks components for query handling, requiring developers to implement or integrate separate solutions for the read side in a full CQRS architecture.
Requires managing multiple NuGet packages and extensions for different features like IoC container integration, which can increase initial setup time and complexity.
As a smaller project, it may have fewer resources, community contributions, and third-party integrations compared to more established alternatives like MediatR.