A collection of libraries and abstractions for building robust .NET applications.
The CH Framework
repository provides a set of libraries and abstractions to facilitate the implementation of various design patterns and persistence mechanisms in .NET applications. This includes support for Domain-Driven Design (DDD), event sourcing, and Entity Framework Core for data persistence.
Provides abstractions for implementing tactical Domain-Driven Design (DDD) patterns such as Entities, Value Objects, and Aggregates. These abstractions help enforce DDD principles and streamline the creation of domain models.
Available as a NuGet package: CH.Domain.Abstractions
Offers abstractions for messaging patterns, including support for event-driven architectures. This project enables consistent handling of domain events, integration events, and other messaging workflows.
Available as a NuGet package: CH.Messaging.Abstractions
Contains abstractions for persistence-related operations, such as Repositories, Unit of Work, and data entities. These abstractions simplify the integration of persistence logic and promote separation of concerns.
Available as a NuGet package: CH.Data.Abstractions
Defines abstractions for an event store to support event sourcing. This project provides a foundation for implementing event storage and retrieval mechanisms across various persistence backends.
Available as a NuGet package: CH.EventStore.Abstractions
Implements event store persistence using Entity Framework Core 7. This project supports both in-memory and SQL-based providers, offering flexibility for development and production environments.
Available as a NuGet package: CH.EventStore.EntityFramework
- Domain-Driven Design (DDD): Tools and abstractions for implementing DDD tactical patterns.
- Event Sourcing: Event store abstractions and implementations for managing domain events.
- Messaging Patterns: Abstractions to enable event-driven and message-based architectures.
- EF Core Integration: Out-of-the-box support for persistence with EF Core 7.
- Extensibility: Easily extend or customize components to fit specific application needs.
- .NET 6 or later
- EF Core (for
CH - EventStore.EntityFramework
)
- Clone the repository:
git clone https://github.com/yourusername/ch-framework.git
- Navigate to the project directory:
cd ch-framework
- Build the solution:
dotnet build
- Add references to the required projects in your .NET application.
- Configure services and dependencies in your DI container as needed.
- Start leveraging the provided abstractions and libraries to implement your application logic.
Contributions are welcome!