it-swarm.com.de

Repository-Muster Schritt für Schritt Erklärung

Kann mir bitte jemand das Repository-Muster in .NET erklären, indem er Schritt für Schritt ein sehr einfaches Beispiel oder eine Demo gibt.

Ich weiß, dass dies eine sehr häufige Frage ist, aber bisher habe ich keine zufriedenstellende Antwort gefunden.

265
Sa Patil

Zusammenfassend würde ich die weitere Auswirkung des Repository-Musters beschreiben. Es ermöglicht Ihrem gesamten Code, Objekte zu verwenden, ohne zu wissen, wie die Objekte beibehalten werden. Das gesamte Wissen über die Persistenz, einschließlich der Zuordnung von Tabellen zu Objekten, ist sicher im Repository enthalten.

Sehr oft finden Sie SQL-Abfragen, die in der Codebasis verstreut sind. Wenn Sie einer Tabelle eine Spalte hinzufügen, müssen Sie nach Codedateien suchen, um die Verwendung einer Tabelle zu ermitteln. Die Auswirkungen der Änderung sind weitreichend.

Mit dem Repository-Muster müssten Sie nur ein Objekt und ein Repository ändern. Die Auswirkungen sind sehr gering.

Vielleicht wäre es hilfreich, darüber nachzudenken, warum Sie das Repository-Muster verwenden würden. Hier sind einige Gründe:

  • Sie haben nur einen Ort, an dem Sie Änderungen an Ihrem Datenzugriff vornehmen können

  • Sie haben einen einzigen Ort, der für eine Reihe von Tabellen verantwortlich ist (normalerweise)

  • Es ist einfach, ein Repository durch eine gefälschte Implementierung zum Testen zu ersetzen - Sie müssen also keine Datenbank für Ihre Komponententests zur Verfügung haben

Es gibt auch andere Vorteile, zum Beispiel, wenn Sie MySQL verwenden und auf SQL Server wechseln möchten - aber das habe ich in der Praxis noch nie gesehen!

190
Fenton

Dies ist ein schönes Beispiel: Das Beispiel für ein Repository-Muster in C #

Grundsätzlich verbirgt das Repository die Details darüber, wie genau die Daten aus der Datenbank abgerufen bzw. in der Datenbank gespeichert werden. Unter der Decke:

  • zum Lesen erstellt es die Abfrage, die die angegebenen Kriterien erfüllt, und gibt die Ergebnismenge zurück
  • zum Schreiben werden die Befehle ausgegeben, die erforderlich sind, damit die zugrunde liegende Persistenz-Engine (z. B. eine SQL-Datenbank) die Daten speichert
178
twoflower