2010-12-14 3 views
1

現在、私はWebサービスを使用してデータベースを呼び出し、オブジェクトをMVCアプリケーションに戻します。目的は、データをテーブルに表示することです。Webサービスからクラスへのビューを強く入力していますか?

ウェブサービスのクラスにビューを入力するだけで、MVCアプリケーション内のモデルに常に型を入力する必要がありますか?私はそれを私のアプリケーション内のモデルに入力すると、クラスの新しいインスタンスを作成し、すべての情報をコピーする必要があります。これは時間の無駄です。

どちらがベストプラクティスと考えられますか? WebサービスやMVCアプリケーション内のクラスのクラスに強く入力していますか?

乾杯。

+0

なぜWebサービスが必要なのでしょうか?コントローラがモデル/データベースを呼び出すことができないのはなぜですか?コントローラは基本的に何か(html、xml、json、画像など)を返すことができるので、mvcアプリケーション用のWebサービスは必要ありません。 – RPM1984

答えて

1

ベストプラクティスは、アプリケーションを外部の変更から保護し、アプリケーションの内部を知ることを避けることです。だから私は別のクラスを作成し、それをWebサービスクラスにマップするだけです。 AutoMapperのようなものを使ってマッピングを行うこともできます。

1

WebServiceのクラスに依存するべきではありません。 MVCのViewModelは、単純なデータ表現であることを前提としています。 AutoMapperを使用して、WebServiceクラスをViewModelクラスに簡単にマップできます。これはベストプラクティスとみなされ、this bookに記載されています。

1

はい。ドメインモデルと結合しないビューモデル、つまり単純なDtOを使用するのがベストプラクティスです。ただし、ドメインに適用された検証はすべて複製する必要があります。時にはドメインエンティティをビューに渡すことがトレードオフになることもあります

あなたのケースでは、ここでは他の人と同様にDTOをお勧めします。

関連する問題