The repository pattern
A repository is a collection, a collection that holds entities and which can filter and return entities back based on the needs of your application. How it actually holds those entities is an implementation detail.http://shawnmc.cool/the-repository-pattern
A clear and concise explanation of the repository pattern.