Was ist der Unterschied zwischen einem Repository und einem Service? Ich scheine es nicht zu begreifen.
Ich spreche über den Datenzugriff über eine Datenzugriffsschicht, normalerweise mit linq to sql.
Sehr oft sehe ich Repositorys mit einfachen CRUD-Methoden und Services mit eher unternehmensspezifischen Methoden.
Wir können diesen Blog-Beitrag als Beispiel nehmen. Wenn Sie sich die Schnittstellen unten ansehen (Bilder), hat er zwei Repositorys und zwei Dienste. Woher weiß man, was man wo hinstellen soll?
Wie gesagt, Repositories scheinen eher für CRUD-ähnliche Operationen und Services geschäftsorientierter zu sein.
Vielen Dank
design-patterns
alexn
quelle
quelle
Antworten:
Ein Repository ist im Wesentlichen eine Fassade für die Persistenz , die die Semantik im Sammlungsstil (Hinzufügen, Aktualisieren, Entfernen) verwendet, um den Zugriff auf Daten / Objekte zu ermöglichen. Auf diese Weise können Sie die Art und Weise, wie Sie Daten / Objekte speichern, vom Rest der Anwendung entkoppeln.
Ein Dienst liefert Koordination oder andere "Dienste", die zum Betreiben Ihrer Anwendung erforderlich sind. Sie unterscheiden sich darin, dass Dienste normalerweise nicht wissen, wie sie aus der Persistenz auf Daten zugreifen können, und Repositorys normalerweise nur auf Daten / Objekte für Dienste zugreifen, über die Sie möglicherweise verfügen.
quelle
repository
=collection
vonbackbone.js
oderrepository
=service
vonangular
?Im Repository werden die Daten gespeichert. Der Dienst manipuliert die Daten.
Wenn Ihr Geld in einem realen Situationsvergleich in einem Tresor einer Bank gespeichert ist, ist der Tresor das Repository. Der Kassierer, der einzahlt, abhebt usw., ist der Dienst.
quelle
Ich würde als ersten Versuch im allgemeinen Sinne sagen (bis Sie mehr Kontext angeben, wenn Sie einen haben):
quelle