2011-09-08 5 views
1

私は自分のウェブサイトのバランタイン(またはフォーラム)を実装していますが、データベースに接続するための型付きデータセットとともに、MVPパターンをC#とasp.netで使用しています。私の問題は、どこでエラーを処理し、送受信データを検証すべきかわからないということです。C#アプリケーションのエラー処理に関する問題

解決策1:私は2つの異なる解決策を考え出しただけ

presenter:検証とエラーがモデル、データベースとビューに関連する取り扱いプレゼンタにデータを渡す

view:は何もしない

model:データベースからデータまたはエラーを返すだけで何もしない

解決策2:ページとユーザー入力

presenter:に関連する取り扱い

view:検証とエラー何もしないだけのデータベースに関連する取り扱いのメディエータ

model:検証とエラーことと

をmodel`どのソリューションがより良いアプローチですか?

答えて

1

私は個人的に

ビューのための第二の溶液を表しwoulds:検証とエラーページとユーザ入力に関連する取り扱い

これ。シンプルな入力エラーが重要なので、ユーザーに即座にフィードバックを与え、モデルからの応答を待たせることはありません。

1

彼らはデータを送信後、ほとんどの時間は、ユーザは、対話が成功することを期待することができるように、私は絶対に、ビューにできるだけ2.

に検証をソリューションをお勧めします。無効なリクエストおよび/または操作されたリクエストを除外し、ドメイン固有のルールを適用するには、アプリケーションで再度検証します。

MVPはUIパターンなので、モデルはプレゼンターによってアセンブルされたデータコンテナに過ぎません。ドメインモデル、ビジネスロジック、データベースアクセス、したがって最終的な検証は、アプリケーション自体のMVPベースのUIレイヤーの下に配置する必要があります。

+0

回答ありがとうございます。「究極の検証は、アプリケーション自体のMVPベースのUIレイヤの下に配置する必要があります」という意味を理解していません。私はいくつかの他のアプリケーションを作成する必要がありますか? – jim

+0

MVPは、ユーザーインターフェイスレイヤのパターンです。アプリケーション、ドメイン、さらにはデータアクセス層とは何の関係もありません。 MVPのモデルは特定のビューのモデルではありません。あなたのドメインのモデルではありません。 –

+0

私は階層化されたアプリケーションを作成していないので、mvpはアプリケーションです。なぜmvpはUIパターンですか? UIとデータベースに接続されているモデルとは何が関係していますか? – jim

関連する問題