Skip to content

Implementations of the repository pattern for .NET to support the domain-driven modeling

License

Notifications You must be signed in to change notification settings

deveel/deveel.repository

Folders and files

NameName
Last commit message
Last commit date
Jan 25, 2025
Nov 19, 2022
Jan 26, 2025
Jan 25, 2025
Oct 16, 2024
May 6, 2023
Nov 10, 2022
Oct 9, 2023
Oct 5, 2023
Nov 4, 2023
Jul 6, 2024
Oct 5, 2023
Oct 21, 2023
Nov 11, 2022

Repository files navigation

GitHub release GitHub license GitHub Workflow Status codecov Code Climate maintainability Documentation

Deveel Repository

This project wants to provide a low-ambitions / low-expectations implementation of the (infamous) Repository Pattern for .NET to support the development of applications that need to access different data sources, using a common interface, respecting the principles of the Domain-Driven Design and the SOLID principles.

Libraries

The framework is based on a kernel package, that provides the basic interfaces and abstractions, and a set of drivers that implement the interfaces to access different data sources.

Package NuGet
Deveel.Repository.Core NuGet
Deveel.Repository.InMemory NuGet
Deveel.Repository.MongoFramework NuGet
Deveel.Repository.EntityFramework NuGet
Deveel.Repository.DynamicLinq NuGet
Deveel.Repository.Manager NuGet
Deveel.Repository.Manager.DynamicLinq NuGet
Deveel.Repository.Manager.EasyCaching NuGet

Why Deveel Repository?

The Repository Pattern is a well-known pattern in the software development, that is used to abstract the access to a data source, and to provide a common interface to query and manipulate the data.

You can read the motivations and drivers that have led to the development of this framework, and decide if it is suited for your needs.

Documentation and Guides

A brief gruide on how to use the framework is available in the documentation section of the repository, that will be updated regularly with any major release of the framework.

Read Here or at GitBook.

License

The project is licensed under the terms of the Apache Public License v2, that allows the use of the code in any project, open-source or commercial, without any restriction.

Contributing

The project is open to contributions: if you want to contribute to the project, please read the contributing guidelines for more information.