Me pregunto cómo debería agrupar mis repositorios. Como en los ejemplos que vi en asp.net mvc y en mis libros, básicamente usan un repositorio por tabla de base de datos. Pero eso parece una gran cantidad de repositorios que lo llevan a tener que llamar a muchos repositorios más adelante para burlarse y esas cosas.
Así que supongo que debería agruparlos. Sin embargo, no estoy seguro de cómo agruparlos.
En este momento hice un repositorio de registro para manejar todas mis cosas de registro. Sin embargo, hay como 4 tablas que necesito actualizar y antes tenía 3 repositorios para hacer esto.
Por ejemplo, una de las tablas es una tabla de licencias. Cuando se registran, miro su clave y la reviso para ver si existe en la base de datos. Ahora, ¿qué sucede si necesito verificar esta clave de licencia o algo más de esa tabla en algún otro lugar que no sea el registro?
Un lugar podría ser el inicio de sesión (verifique si la clave no está vencida).
Entonces, ¿qué haría yo en esta situación? ¿Reescribe el código nuevamente (rompe DRY)? Intente combinar estos 2 repositorios juntos y espere que ninguno de los métodos sea necesario en algún otro momento (como si pudiera tener un método que verifique si se usa userName, tal vez lo necesite en otro lugar).
Además, si los fusiono, necesitaría 2 capas de servicio que vayan al mismo repositorio, ya que creo que tener toda la lógica para 2 partes diferentes de un sitio sería largo y tendría que tener nombres como ValidateLogin (), ValdiateRegistrationForm () , ValdiateLoginRetrievePassword () y etc.
¿O llamar al Repositorio de todos modos y tener un nombre extraño?
Parece difícil crear un repositorio que tenga un nombre lo suficientemente general para que pueda usarlo en muchos puntos de su aplicación y aún así tenga sentido, y no creo que llamar a otro repositorio en un repositorio sea una buena práctica.