Repository Pattern
A repository is responsible to store and to retrieve your data. It is not a Data Access Layer but location for storage and there can be any database like XML, Oracle or a textfile.
In layman language we can tell repository is strongly typed classes that provides functionality for object.
There are various advantages of the Repository Pattern including:
- Business logic can be tested without need for an external source
- Database access logic can be tested separately
- No duplication of code
- Caching strategy for the datasource can be centralized
- Domain driven development is easier
- Centralizing the data access logic, so code maintainability is easier
practice: http://www.mithunvp.com/create-aspnet-mvc-6-web-api-visual-studio-2015/