1

データプロバイダーからデータを取得するためにWebサービス(正確にはWCF)を使用するMVC4を使用してWebベースのシステムを開発します(SQLへの直接接続は使用できません)

それで、このプロジェクトでのWebサービスの使用について質問があります。WebサービスモデルをMVCモデルとして直接使用するのは正しいですか、それともMVCプロジェクト用に個別のモデルを作成してから、オブジェクトマッパー(などEmitMapper)を使用してWebサービスモデルをMVCのモデルにマップする必要がありますか?

:Webサービスは大幅に変更される可能性があることを考慮してください。

4

2 に答える 2

1

いいえ、WCFシリアル化可能なプロキシクラスをMVCビューモデルとして使用しないでください。これにより、SOAバックエンドがMVCフロントエンドに不必要に結合されます。

2つのクラスには、まったく異なる懸念事項があります。たとえば、WCFクラスに適用できないDataAnnotationsなどで装飾ViewModelsしたい場合があります(同様に、WCFプロキシクラスにはシリアル化属性がある場合があります)。UIHint

また、画面が進化するにつれて、通常、2つのモデルを大幅に分岐させる必要がある場合があります。たとえば、画面にはサービスが必要としないプロパティが必要であり、その逆も同様です。

そうです、WCFデータのシリアル化とMVC ViewModelsのクラスを分けてください。おっしゃるように、標準の命名規則を守れば、AutoMapperのようなマッパーがほとんどの作業を行います。

于 2012-10-09T12:16:24.593 に答える
1

私はあなたに私が何をするかを言うことができるだけです。

モデルを分離してください。あなたが言うように、Webサービスは大きく変わる可能性があります。中途半端な家を持っていると、多くの実装チャーンからあなたを守ることができます。

また、それを指摘する価値があります:-

  • 別のソリューションに簡単に移動できます(別の戦略を使用してモデルにデータを入力します)
  • 単体テストが簡単(モデルが機能することをテストするために必ずしもネット接続は必要ありません)
于 2012-10-09T12:16:54.350 に答える