repository-pattern

___ tag123aspnetmvc3 ___ ASP.NET MVC 3 ist die dritte Hauptversion der Model-View-Controller-Erweiterung für die Entwicklung von Webanwendungen in einem .NET-Framework. ___ tag123service ___ Ein Dienst ist eine ausführbare Datei mit langer Laufzeit, die bestimmte Funktionen ausführt und keine Benutzereingriffe erfordert. ___ qstnhdr ___ Controller - Service - Repository: Ordnet Service die Entity ViewModel zu? ___ answer11538755 ___

ViewModel enthält Daten, die für die Anzeige des Modells in der Ansicht erforderlich sind. Wenn Sie eine andere Ansicht verwenden (z. B. eine mobile Anwendung oder eine Desktopanwendung oder sogar einen Webdienst), benötigen Sie weitere Daten, die in der Ansicht angezeigt werden. Wenn Sie auf der Serviceebene Zuordnungen vornehmen, können Sie diese nicht mit einem anderen Anwendungstyp verwenden. Daher ist der Controller ein Ort, an dem Sie Domain-Daten zuordnen, um sie in der Ansicht anzuzeigen (unabhängig von der Art der Ansicht, die Sie haben).

    
___ tag123repositorymattern ___ Das Repository-Muster bietet eine Möglichkeit, eine Isolierung zwischen der Datenzugriffsebene Ihrer Anwendung und der Business-Schicht bereitzustellen ___ qstntxt ___

Ich habe MVC-App, mit "M" einschließlich Service-und Repository-Schichten.

Allerdings bin ich etwas verwirrt darüber, wo und wie man ein paar Dinge macht.

  1. Ein Service ruft zwei Repositories auf oder ruft ein eigenes Repository und einen anderen Service auf

z.B.

Ich habe einen ReferenceDataService, der die gesamte Logik für CRUD mit meinen Referenztabellen behandelt.

Dann in meinem "CustomerService" muss ich meine Referenzdaten "R", um z. Beschreibung statt Id. Also, rufe ich das ReferenceDataService oder ReferenceDataRepository auf?

  1. Auf einer Ebene möchte ich von Entity zu ViewModel mappen.

Tue ich dies in meiner Service-Schicht oder im Controller?

z.B. Führt mein ServiceLayer die Zuordnung / Logik von VM zu Entity und zurück?

Danke:)

    
___ answer11538649 ___
  • Repositorys sprechen mit einer zugrunde liegenden Datenquelle.
  • Serviceebene spricht mit Repositorys mit Domänenmodellen. Es akzeptiert / übergibt Domänenmodelle von / an die Repository-Schicht.
  • Der Controller spricht mit der Serviceebene. Der Controller übernimmt / übergibt Domänenmodelle von / an die Serviceschicht.
  • Der Controller ruft die Zuordnungsebene (falls vorhanden) auf, um zwischen den Domänenmodellen und den Ansichtsmodellen zu mappen. Wenn Sie keine Mapping-Ebene haben, können Sie die Zuordnung in Ihrem Controller vornehmen, was jedoch schnell umständlich werden könnte. In diesem Fall könnte AutoMapper bereitgestellt werden als eine sehr praktische Mapping-Schicht.

Ein noch einfacheres Szenario ist, wenn Sie keine Service-Schicht benötigen, was in kleineren Anwendungen oft der Fall ist. Eine Service-Schicht bringt keinen Nutzen. Der Controller spricht also direkt mit den Domänenmodellen mit den Repositories.

    
___
3
Antworten

Welche Vor- / Nachteile hat die Rückgabe von POCO-Objekten aus einem Repository gegenüber EF-Entitäten?

Nach der Art und Weise, wie Rob das tut, habe ich die Klassen, die vom SQL-Wizard von Linq generiert werden, und dann eine Kopie dieser Klassen, die POCOs sind. In meinen Repositorys gebe ich diese POCOs statt der Linq an SQL-Modelle zurück: %...
11.05.2009, 08:52
2
Antworten

Sollte ein Repository ein anderes Repository aufrufen? Oder sollte ein Repository eine Service-Schicht aufrufen?

Ich versuche herauszufinden, wie ich dieses Problem angehen kann. Ich muss einige Daten in 2 Tabellen einfügen, nennen wir sie Tabelle A und Tabelle B. %Vor% Nun war meine erste Frage: Sollte ein anderes Repository ein anderes Repository auf...
01.09.2009, 20:25
2
Antworten

Repository vs Datenzugriff

Gibt es im Zusammenhang mit der n-Tier-Anwendung einen Unterschied zwischen dem, was Sie als Datenzugriffsklassen betrachten würden, und Ihren Repositories? Ich tendiere dazu, ja zu denken, aber ich wollte nur sehen, was für ein anderer Gedan...
06.05.2010, 13:29
3
Antworten

EF und Repository-Muster - endet mit mehreren DbContexte in einem Controller - irgendwelche Probleme (Leistung, Datenintegrität)?

Die meisten meiner Kenntnisse über ASP.NET MVC 3 entstammen dem Buch Pro ASP.NET MVC 3 Framework von Adam Freeman und Steven Senderson. Für meine Testanwendung habe ich versucht, an ihren Beispielen festzuhalten. Ich verwende das Repository-Must...
04.02.2012, 10:29
1
Antwort

Mehrere DbContext-Klassen für eine einzelne Webanwendung. Gut oder schlecht?

Ist es eine gute Übung, mehrere XXX : DbContext -Klassen für jeden Hauptabschnitt einer Webanwendung zu haben (wenn man bedenkt, dass es eine große Datenbank mit mindestens 50 Tabellen ist)? Zum Beispiel: MembershipContext, BlogContext, Store...
17.06.2012, 16:16
1
Antwort

benutzerdefinierte Mitgliedschaft Provider und Einheit Abhängigkeit Injektion

Ich habe ein paar Fragen gefunden, die denen ähnlich sind, die ich poste, aber ich bekomme von ihnen nicht das, was ich wirklich brauche. Ich habe immer noch Probleme, meine CustomMembershipProvider mit Microsoft Unity DI zu implementieren...
18.05.2013, 16:42
2
Antworten

Repository Muster Pro und Kontra jeder Implementierung

Hi, ich schaue mir das Repository-Muster an, das normalerweise so zu implementieren ist: %Vor% Also müssen Sie für jeden Typ, mit dem Sie arbeiten möchten (dh update), ein Repository instanziieren. Wenn ich also zwei Typen hatte, die ich...
27.07.2011, 23:48
3
Antworten

Real World ASP.NET MVC-Repositorys

In der realen Welt können Controller möglicherweise Daten aus einer Vielzahl von Datenbanktabellen und anderen Datenspeichern verwenden. Zum Beispiel: %Vor% Also: Soll ich für jede Tabelle ein Repository verwenden? Ich denke, hier k...
24.11.2010, 17:18
3
Antworten

Repository, Service oder Domain-Objekt - wo gehört die Logik?

Nehmen Sie dieses einfache, erfundene Beispiel: UserRepository.GetAllUsers (); UserRepository.GetUserById (); Zwangsläufig werde ich komplexere "Abfragen" haben wie: %Vor% Ich habe Probleme festzustellen, wo die Verantwortung für das R...
04.06.2010, 22:14
5
Antworten

Wie eloquent von der Service-Schicht zu entkoppeln?

Ich versuche eine Clean-Cut-Service-Schicht zu erstellen, wobei die Service-Schicht auf ein oder mehrere Repositories einwirkt und jedes Repository auf sein eigenes redegewandtes Modell einwirkt. Zum Beispiel könnte ich haben: %Vor% Jeder...
11.05.2015, 12:45