This repository is a part of a backbone for starter projects
Mediates between the domain and data mapping layers, acting like an in-memory collection of domain objects.
Maintains a list of objects affected by a business transaction and coordinates the writing out of changes.
Dependency Injection(DI) removes the responsibility of direct creation, and management of the lifespan, of other object instances upon which our class of interest (consumer class) is dependent (in the UML sense). These instances are instead passed to our consumer class, typically as constructor parameters or via property setters (the management of the dependency object instancing and passing to the consumer class is usually performed by an Inversion of Control (IoC) container).