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.

    
___
2
Antworten

Mandantenfähige Zugriffssteuerung: Repository- oder Service-Layer?

Sollte ich in einer mandantenfähigen ASP.NET MVC-Anwendung, die auf der MVC Storefront von Rob Conery basiert, die Daten des Mandanten im Repository oder der Service Ebene filtern? 1. Die Daten des Mieters im Repository filtern: %Vor%...
30.04.2010, 14:52
1
Antwort

Wie man zirkuläre Abhängigkeiten zwischen Repositories bricht

Um zu beginnen, nein, ich benutze kein ORM und darf es auch nicht. Ich muss meine Repositories mit ADO.NET manuell rollen. Ich habe zwei Objekte: %Vor% Beachten Sie die Referenzen zueinander, eine Firma hat eine Liste von Benutzern, jeder...
09.03.2012, 16:23
1
Antwort

Verarbeiten von Entitätsaktualisierungen von einem zugeordneten Objekt

Ich habe meinen Code zuerst, SQL-Datenmodelle (mit EF Core 1.1), die verwendet werden, um mein Schema / Tabellen zu modellieren. Allerdings habe ich auch Domänenobjekte, die teilweise oder vollständig zugeordnete Versionen dieser SQL-Datenmodell...
05.04.2017, 16:43
3
Antworten

DDD: Aggregatwurzeln für andere Aggregate erhalten

Ich habe DDD in den letzten zwei Wochen studiert, und eines der Dinge, die mir wirklich auffielen, war, wie Aggregatwurzeln andere Aggregatwurzeln enthalten können. Aggregatstammbäume werden aus dem Repository abgerufen. Enthält ein Stamm jedoch...
14.02.2010, 19:04
1
Antwort

C # Linq-zu-SQL Erstellt ein generisches Repository

Ich habe ein paar Repositories, die im Allgemeinen so aussehen %Vor% Ich hätte gerne eine Art generische Basisklasse, die mir ein wenig Tipparbeit ersparen könnte, also habe ich hier angefangen %Vor% Wie kann ich auf die Sammlung von Ts...
23.02.2011, 20:18
1
Antwort

Alternativen zum Repository-Muster?

Die Leute haben mich angeschrien, dass ich immer das Repository-Muster verwenden soll, was ich schon eine ganze Weile gemacht habe ... Jetzt frage ich mich, ob es dafür annehmbare Alternativen gibt Muster überhaupt?     
12.02.2011, 19:51
1
Antwort

Repository Muster und Layering. Wo verwende ich Sicherheit?

Ich tue mein Bestes, um meine Web-App mit einer guten Trennung zwischen den Layern zu gestalten. Ich verwende das Repository-Muster und habe als solches ein SQLObjectRepository, das von meinem ObjectService aufgerufen wird, der von meinem Web-Fr...
09.12.2008, 18:49
3
Antworten

Bitte erläutern Sie die Beziehungen und Verantwortlichkeiten des Repository-, Mapping- und Business-Layers

Ich habe viel zu diesem Thema gelesen und bin gerade mitten in der Entwicklung einer größeren Web-Anwendung und des dazugehörigen Back-Ends. Ich habe jedoch mit einem Design begonnen, bei dem ich ein Repository anfordere, Daten aus der Date...
24.08.2016, 16:37
2
Antworten

DDD-Repository und Factory

In meiner Anwendung ein paar Schichten. In diesem Thema wird der Schwerpunkt auf Domänen- und Infrastruktur-Ebenen liegen. Ich habe das Repository-Interface ClientRepositoryInterface im Domain-Layer. Und ich habe die Implementierung dieser Sc...
21.07.2015, 00:14
1
Antwort

Implementieren von begrenztem Kontext in Entity Framework-basierte Infrastruktur

Ich hatte eine Infrastruktur für unser brandneues Intranet-Projekt geschaffen und versucht, fast allen Best Practices zu folgen. Ich möchte auch erwähnen, dass dies das erste Mal ist, dass ich eine Architektur von Null an erstellt habe. Momen...
15.02.2013, 09:30