risposta-alla-domanda-sullo-sviluppo-web-bd.com

Modello di deposito Step by Step Spiegazione

Qualcuno può spiegarmi il Pattern di Repository in .NET, passo dopo passo dando un esempio o demo molto semplice.

So che questa è una domanda molto comune, ma finora non ho trovato una risposta soddisfacente.

262
Sa Patil

Come riassunto, descriverei l'impatto più ampio del modello di repository. Consente a tutto il codice di utilizzare oggetti senza dover sapere come vengono mantenuti gli oggetti. Tutta la conoscenza della persistenza, inclusa la mappatura da tabelle ad oggetti, è contenuta in modo sicuro nel repository.

Molto spesso, troverete query SQL sparse nella base di codice e quando si arriva ad aggiungere una colonna a una tabella è necessario cercare i file di codice per cercare e trovare gli usi di una tabella. L'impatto del cambiamento è di vasta portata.

Con il modello di repository, devi solo modificare un oggetto e un repository. L'impatto è molto piccolo.

Forse sarebbe utile pensare al motivo per cui dovresti usare il modello di repository. Ecco alcuni motivi:

  • Hai una sola posizione per apportare modifiche al tuo accesso ai dati

  • Hai un singolo posto responsabile di un set di tabelle (di solito)

  • È facile sostituire un repository con un'implementazione fittizia per i test, quindi non è necessario disporre di un database disponibile per i test dell'unità

Vi sono anche altri vantaggi, ad esempio, se si stesse utilizzando MySQL e si volesse passare a SQL Server, ma in realtà non l'ho mai visto in pratica!

188
Fenton

Questo è un bell'esempio: L'esempio del modello di repository in C #

Fondamentalmente, il repository nasconde i dettagli di come esattamente i dati vengono recuperati/mantenuti da/verso il database. Sotto le coperte:

  • per la lettura, crea la query soddisfacendo i criteri forniti e restituisce il set di risultati
  • per la scrittura, emette i comandi necessari per fare in modo che il motore di persistenza sottostante (ad esempio un database SQL) salvi i dati
177
twoflower