Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md #10

Merged
merged 1 commit into from
Sep 12, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 23 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,25 @@
# GenericRepository
A Class library which implements GenericRepository Pattern for connecting to SQl Server Db,
It Contains both Asynchronous and Synchronous methods.
Command And Query Respository are seprated and Query Repository is wrapped by a cache repository which has been implemented using decorator pattern.
Domain Event handling and Audit logs are also implemented in this repository.
This class library implements the Generic Repository Pattern for SQL Server databases. It supports both asynchronous and synchronous operations and is designed to offer a clean and efficient data access layer.



## Key Features :
- Separation of Command and Query Repositories: Distinguishes between command (write) and query (read) operations to adhere to the CQRS pattern.
- Cache Repository with Decorator Pattern: Enhances the query repository with caching to improve performance and reduce database load.
- Domain Event Handling: Facilitates decoupled communication and business logic execution based on domain events.
- Audit Logging: Provides comprehensive logging of repository operations for traceability and accountability.

## Components :

- Generic Repository Interface: Defines the standard CRUD methods for data access.
- Command Repository: Manages create, update, and delete operations.
- Query Repository: Manages read operations and is enhanced with caching capabilities.
- Cache Repository: Implements caching for the query repository using the decorator pattern.
- Domain Event Handler: Handles domain events and executes related actions.
- Audit Log Service: Records and manages audit logs for repository interactions.

## Configuration:
Pass `IServiceCollection` to following method to add services to your DI:
```csharp
GenericRepositoryConfigurator.InjectServices(services);
```
Loading