1

私のWebアプリケーションには、次のレイヤーがあります。

  • UI
    • コントローラー、ViewModels、ビュー
  • BLL
    • サービス
  • DAL
    • リポジトリ
  • モデル

UIレイヤーでは、ViewModelsでDataAnnotationsを使用して入力を検証します。コントローラはサービスと通信して、新しいユーザーの登録などの処理を行います。私の質問は、ユーザー名、パスワード、電子メールの検証など、DataAnnotationsがViewModelですでに行ったのと同じことをサービスで検証する必要があるかどうかです。

4

3 に答える 3

3

このサービスレイヤーをASP.NETMVCアプリケーションの外部で再利用する場合は、検証する必要があります。そうでない場合は、同じ検証を行う必要はないかもしれません。サービスレイヤーでは、たとえば、指定されたユーザー名がすでに存在する、または現在のアカウントに$ 2000しかないため、アカウントXに$3000を配線できないなどのビジネス要件を検証する必要があります。

于 2013-02-24T18:34:54.333 に答える
0

サービスレイヤーで再度検証することで、アプリケーションにWebサービスを追加するなど、アプリケーションを他の場所で使用する場合に、アプリケーションを「将来にわたって利用できるようにする」ことができます。

于 2013-02-24T18:35:51.327 に答える
0

サービスに送信されるすべてのデータを常に検証する必要があります。UI レイヤーが同じ検証を実行する (またはそのためのコードを共有する) 場合があります。

一部の検証 (「電子メールが本物である」、「ユーザーが正常に作成された」など) は、サービスでのみ実行できることに注意してください。

于 2013-02-24T18:36:14.077 に答える