A .NET library that integrates NServiceBus and EventStore to simplify building event-sourced domain-driven design applications.
Aggregates.NET is a .NET library that integrates NServiceBus and EventStore to provide a framework for building event-sourced applications following domain-driven design and CQRS principles. It abstracts away the complexities of managing event streams and message queues, offering a structured way to define entities, commands, and events. The library handles stream persistence, concurrency, and transactional consistency, enabling developers to focus on business logic.
.NET developers and architects building event-sourced systems, microservices, or applications requiring robust domain modeling with DDD and CQRS patterns. It is particularly suited for teams using NServiceBus and EventStore who want to reduce infrastructure boilerplate.
Developers choose Aggregates.NET because it significantly reduces the boilerplate and complexity of implementing event sourcing with NServiceBus and EventStore, providing a cohesive, opinionated framework that enforces best practices. Its integration with Microsoft's standard DI and logging simplifies setup, while features like saga support and unit of work management offer out-of-the-box solutions for common challenges in distributed systems.
.NET event sourced domain driven design model via NServiceBus and GetEventStore
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automates event stream management and message queuing with NServiceBus, handling versioning and concurrency internally so developers can focus on domain logic.
Provides base classes for entities and value objects, facilitating the implementation of domain-driven design patterns and CQRS principles as outlined in the README.
Includes snapshotting and support for children entities, enabling efficient data retrieval and complex hierarchical domain structures without manual optimizations.
Offers Unit of Work for coordinating transactions across multiple storages like EventStore and MongoDB, ensuring data integrity in distributed applications.
The README admits documentation is lacking, with limited guides beyond sparse samples, making onboarding and troubleshooting challenging for new users.
As a solo project pre-v1.0, the library undergoes breaking changes, and the developer explicitly states backward compatibility is not a priority.
Recent versions removed support for alternative DI and logging libraries, forcing users into Microsoft's ecosystem and reducing flexibility for existing setups.
Tightly couples with NServiceBus and EventStore, limiting adoption for teams using other messaging systems or event stores without significant workarounds.