2016-05-04 13 views
0

Um eine Architektur für eine Unternehmensanwendung zu entwerfen, die viele Eingabe-Validierungen sowohl auf Server als auch auf Client hat, ist die beste Vorgehensweise? Was halten Sie davon, dieselben JavaScript-Funktionen mit bekannten Parametern zu haben und diese gleichzeitig auf Server und Client auszuführen? Ich habe viele Validierungen müssen in Client und Server tun, und ich möchte Code-Redundanz zu verhindern, die Verwendung von benutzerdefinierten Validierung ist nicht der Punkt, der Punkt ist die Suche nach einem Weg zur Vermeidung von doppelten Code in Client und Server. Ich möchte eine richtige Architektur nicht eine technologische Idee.Vermeiden von serverseitiger und clientseitiger Validierungscode-Duplizierung in Unternehmens-Webanwendungen

Antwort

0

Die Geschäftslogik einer Unternehmensanwendung sollte in der Business-Schicht gekapselt sein.

Die Frage ist: sind Eingabe Validierung Geschäftslogik ??

Aus meiner Sicht gewährleisten einige Eingabe-Validierung Datenkonsistenz und sollte Geschäftslogik sein. Es ist eine architektonische Analyse.

Eine weitere Überlegung ist der Client. Wie viele Kunden haben Sie? Web, Android, iOS ... Sie müssen die Client-Validierung für jeden implementieren. Die Business-Schicht bleibt jedoch gleich.

Meine Antwort ist: Sie sind der Architekt, berücksichtigen Sie Anwendungsbeschränkungen und die oben genannten Überlegungen und finden Sie ein Kriterium für die Bereitstellung der Validierung in Server oder Client.

+0

Vielen Dank für Ihre Zeit, aber ich denke, dass Ihre Fragen vor beantwortet werden. Mein Client ist nur Web-Anwendung und meine Validierungen sind übliche Geschäftslogik zwischen UI-Schicht (Web) und Server. Aber der Punkt ist die Vermeidung von doppelten Code in UI und Server, und meine Idee ist die Ausführung der Validierung JS im Server eine Client-Seite gleichzeitig. –

0

Eigentlich jetzt, ich arbeite nodejs für diese Lösung zu gleichen JS-Code in Server-Seite und Client-Seite, ich werde das Ergebnis melden und ich weiß für jede andere Idee zu schätzen. Update: Ich finde Edgejs für das Ausführen von js in C#, ich arbeite daran und ich werde aktualisieren müssen danach posten :).

Verwandte Themen