/deveel.repository

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

Primary LanguageC#Apache License 2.0Apache-2.0

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.