2016-06-08 5 views
2

Wir machen eine Quiz-Anwendung, ich versuche meine Angular 2 UI mit der REST API zu integrieren.Ist es ein Anti-Pattern, um das Domänenmodell am Frontend zu ändern?

Unser Quiz Domain Modell der folgenden (vereinfacht) Hierarchie bestehen:

  • Quiz
  • Kategorie
  • Frage
  • Wahl

wo Eltern nicht wissen, es Kinder , aber Kind weiß, dass es Elternteil ist. Zum Beispiel hat Choice eine Referenz für eine Frage, aber Frage hat keinen Bezug zur Auswahl. Wir haben uns für diesen Ansatz entschieden, um die Quizdaten flexibler und modularer zu gestalten, und vermeiden damit auch Zirkelverweise.

Im Front-End ist es jedoch kontraintuitiv, invertierte Verknüpfungen zu verwenden, da Ansichten von Natur aus Schicht für Schicht erstellt werden, die tiefer in der Domänenobjektstruktur iteriert. Es ist sinnvoll, zuerst die Ansicht für die Frage darzustellen und dann die Unteransicht für die Auswahl nach zu rendern. Es scheint einfach unmöglich mit dem aktuellen Domain-Modell, wo ich von Choice beginnen sollte.

Meine Frage ist, ob es üblich oder genehmigt ist, das Domänenmodell am Frontend zu konvertieren, also würde ich alle Daten sammeln und Choice-Referenz zu Frage hinzufügen, wodurch das Modell kompatibel für Top-Down-Ansatz? Und natürlich wandeln Sie es beim POST in REST API um.

Zeigt dies ein schlechtes Design an, oder ist es zugelassen, das Domänenmodell zu ändern?

+1

Diese Frage ist nicht für SO geeignet. Vielleicht möchten Sie einen Moderator bitten, ihn zu [programmers.SE] (http://programmers.stackexchange.com/help/on-topic) zu verschieben. –

Antwort

1

Es ist nicht "Domänenmodell am Frontend konvertieren", weil Ihr Frontend nicht mit dem Domain-Modell spielt. Es wird mit dem Datenübertragungsobjekt gespielt (in diesem Fall wurde das json-Objekt von der aufrufenden Server-API zurückgegeben). Also, tun Sie alles, was Sie wollen mit DTO auf dem Client.