Estou me perguntando como devo agrupar meus repositórios? Como nos exemplos que vi no asp.net mvc e em meus livros, eles usam basicamente um repositório por tabela de banco de dados. Mas isso parece ser um monte de repositórios levando você a ter que chamar muitos repositórios mais tarde para simulação e outras coisas.
Então, acho que devo agrupá-los. No entanto, não tenho certeza de como agrupá-los.
Agora mesmo fiz um repositório de registro para lidar com todas as minhas coisas de registro. No entanto, existem cerca de 4 tabelas que preciso atualizar e antes eu tinha 3 repositórios para fazer isso.
Por exemplo, uma das tabelas é uma tabela de licença. Quando eles se registram, eu olho sua chave e verifico se existe no banco de dados. Agora, o que acontece se eu precisar verificar esta chave de licença ou alguma outra coisa daquela tabela em algum outro local diferente do registro?
Um ponto pode ser o login (verifique se a chave não expirou).
Então, o que eu faria nesta situação? Reescrever o código novamente (quebrar DRY)? Tente mesclar esses 2 repositórios e espero que nenhum dos métodos seja necessário em algum outro momento (como talvez eu possa ter um método que verifica se userName é usado - talvez eu precise disso em outro lugar).
Além disso, se eu mesclá-los, precisaria de 2 camadas de serviço indo para o mesmo repositório, pois acho que ter toda a lógica para 2 partes diferentes de um site seria longo e eu teria que ter nomes como ValidateLogin (), ValdiateRegistrationForm () , ValdiateLoginRetrievePassword () e etc.
Ou ligar para o Repositório de qualquer maneira e apenas ter um nome estranho por aí?
Simplesmente parece difícil fazer um repositório com um nome geral o suficiente para que você possa usá-lo para muitos pontos de sua aplicação e ainda faça sentido e eu não acho que chamar outro repositório em um repositório seria uma boa prática?