Mi chiedo come dovrei raggruppare i miei repository? Come dagli esempi che ho visto su asp.net mvc e nei miei libri usano fondamentalmente un repository per tabella di database. Ma sembra che molti repository ti portino a dover richiamare molti repository in seguito per derisioni e cose del genere.
Quindi immagino che dovrei raggrupparli. Tuttavia non sono sicuro di come raggrupparli.
In questo momento ho creato un repository di registrazione per gestire tutte le mie cose di registrazione. Tuttavia ci sono tipo 4 tabelle che devo aggiornare e prima avevo 3 repository per farlo.
Ad esempio una delle tabelle è una tabella delle licenze. Quando si registrano, guardo la loro chiave e la controllo per vedere se esiste nel database. Ora cosa succede se devo controllare questa chiave di licenza o qualcos'altro da quel tavolo in un altro punto diverso dalla registrazione?
Un punto potrebbe essere il login (controlla se la chiave non è scaduta).
Allora cosa farei in questa situazione? Riscrivi di nuovo il codice (interrompi DRY)? Prova a unire questi 2 repository insieme e spera che nessuno dei metodi sia necessario in un altro momento (come forse potrei avere un metodo che controlla se userName è usato - forse ne avrò bisogno da qualche altra parte).
Inoltre, se li unissi insieme avrei bisogno di 2 livelli di servizio che vadano nello stesso repository poiché penso che avere tutta la logica per 2 parti diverse di un sito sarebbe lungo e dovrei avere nomi come ValidateLogin (), ValdiateRegistrationForm () , ValdiateLoginRetrievePassword () e così via
O chiama comunque il Repository e hai solo un nome strano in giro?
Sembra solo difficile creare un repository che abbia un nome abbastanza generico in modo da poterlo utilizzare per molti punti della tua applicazione e avere ancora senso e non penso che chiamare un altro repository in un repository sarebbe una buona pratica?