2016-05-04 18 views
0

サーバーとクライアントの両方で実行する必要がある入力検証が多数あるエンタープライズアプリケーションのアーキテクチャを設計するには、ベストプラクティスは何ですか?既知のパラメータで同じJavaScript関数を使用し、それらをサーバとクライアントで同時に実行することについて、あなたの意見は何ですか? 私は多くのバリデーションがクライアントとサーバーで同じことをしなければならず、私はコードの冗長性を防止したい、カスタムバリデーションの使用はポイントではなく、ポイントはクライアントとサーバーでコードが重複するのを防ぐ方法を見つけることです。 私は技術的な考え方ではなく、正しいアーキテクチャを望んでいます。エンタープライズWebアプリケーションでのサーバー側とクライアント側の検証コードの重複の回避

答えて

0

エンタープライズアプリケーションのビジネスロジックをビジネスレイヤーにカプセル化する必要があります。

質問は次のとおりです:入力検証ビジネスロジックですか?

私の考えからは、入力の検証によってデータの一貫性が保証され、ビジネスロジックでなければなりません。それは建築的分析です。

もう1つの考慮事項はクライアントです。 あなたには何人のクライアントがいますか? Web、android、ios ...それぞれにクライアントの検証を実装する必要があります。しかし、ビジネス層は変わりません。

私の答えは、建築家であり、アプリケーションの制約と上記の考慮事項を念頭に置いて、サーバーまたはクライアントに検証を展開する基準を見つけることです。

+0

ありがとうございます。でも、あなたの質問は以前には答えられたと思います。私のクライアントは単なるWebアプリケーションであり、私の検証はUIレイヤー(Web)とサーバーの間の共通のビジネスロジックです。しかし、ポイントはUIとサーバーのコードが重複しないようにすることです。 –

0

実際には、この解決策のためのnodejをサーバー側とクライアント側の同じJSコードに使用すると、結果が報告され、他のアイデアに感謝します。 アップデート:C#でjsを実行するためのedgejsが見つかりました。私はそれに取り組んでいます。

関連する問題