O Repository genérico facilita o agrupamento das operações comuns na base de dados no sistema. É essencial termos essa estrutura.
Passos a seguir:
- Criar uma interface Entity que será usada no Repository.
- Definir as operações básicas (Create, Read, Update e Delete).
- Definir outras operações importantes (Count, Lirst, Last e outros).
- Para melhor organização, colocar em um diretório /shared ou /common.
Procedimento:
- O repository incorpora o base Repository via composição.
- O construtor do Repository deve inicializar o BaseEntity.
- O Repository implementa apenas as funções específicas de acordo com seu propósito.
- O repository pode sobrescrever um método existente na base.
Alguns Relacionamentos:
- Interface Entity e Entity: Implementação ou realização.
- Entity (Concreta) e BaseEntity: Composição.
- Repository e Base Repository: Composição.
- Repository e Entity: Dependência.
Vantagens:
- Organização.
- Centralização da lógica.
- Reuso do repository.
- Escalabilidade, facilitando a adição ou remoção de funções.
Código fonte: