Generic interfaces for Repository and UnitOfWork patterns and implementation of the Command pattern with regards to database operations.