Frage

Ich bin immer auf ein neues MVC-Projekt gestartet, wo einige eigentümlichen Regeln und ein wenig von Fremdheit gibt es, und es hat mich verwirrt. Insbesondere habe ich Zugriff auf eine Datenbank alle meine Daten enthält, aber es muss vollständig über einen externen Web-Service abgewickelt werden. Frag mich nicht warum, ich weiß nicht, die Gründe verstehen. Das ist nur, wie es ist.

So ist die CRUD wird über diese API behandelt werden. Ich plane eine Dienstschicht zu schaffen, das alle Anrufe einpacken, aber ich habe Probleme beim Einwickeln meines Kopfes um das Modell ... Zu meinen modellbasierten Domain-Objekte zu erstellen (Kunden, Aufträge, etc. ..) sollte ich:

  1. Erstellen sie alle manuell
  2. Erstellen Sie eine Dummy-Datenbank und zeigt einen ORM es
  3. in der vorhandenen Datenbank ein ORM Punkt, aber die ORM Persistenz anstelle der API ignorieren.

Ich fühle mich wie ich alle Informationen, die ich diese heraus aufbauen müssen haben, aber ich bin immer mit dem API gefangen. Alle Hinweise oder Ratschläge wäre sehr geschätzt werden.

War es hilfreich?

Lösung

Je nach Umfang das, was Sie tun Option 3 ist gefährlich, wie Sie das Datenbankmodell gehen davon aus, dass wie durch den Außendienst ausgesetzt gleich ist. Die Optionen 1 und 2 sind nicht IMHO viel verschieden voneinander - in jedem Fall werden Sie müssen entscheiden, was Ihre Objekte, Eigenschaften und Verhaltensweisen sein werden - es läuft gerade nach unten, ob Sie sich wohler in Klassen zu tun oder Datenbanktabellen.

Das Wichtigste ist, um sicherzustellen, dass die externen Service-Anrufe hinter einer Art Wrapper versteckt sind. Persönlich würde ich dann ein Repository setzen obendrein zu handhaben den externen Service-Wrapper Abfragen und Domain-Objekte zurück.

Andere Tipps

Im Allgemeinen ORMs ist für ihre Fähigkeit nicht bekannt saubere Domain-Modell-Klassen zu erzeugen. ORMs ist für die Erstellung von Datenschichten bekannt, die Sie erscheinen nicht in diesem Fall benötigen.

Sie könnten wahrscheinlich ein Code-Generierungs-Tool wie T4 verwenden, um einen ersten Durchlauf in Ihren Domain-Modell-Klassen-Code zu generieren, die entweder auf dem Web-Dienst oder die Datenbank, wenn das würde Zeit sparen. Andernfalls würden Sie wahrscheinlich nur manuell die Domain-Objekte erstellen. Auch wenn Sie einen ersten Durchgang auf Ihre Domain-Objekte Code generieren, ist es unwahrscheinlich, dass es ist eine saubere 1-1 Mapping auf Ihre Domain-Objekte entweder aus der Datenbank oder Web-Service, so dass Sie wahrscheinlich manuell viel Zeit zu verbringen, benötigen die Bearbeitung Ihrer Code-Domain erzeugt Klassen sowieso.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top