2017-02-10 5 views
0

Web APIサービスを使用するmvc Webアプリケーションがあります。 MyModelで表される複雑なフォームデータをmvcからwebserviceに送信する場合、WebサービスはMyModelをプロジェクトの一部として使用する必要があります。web apiアクションでフォームデータを受信

この方法では、両方のプロジェクト、mvcとWebサービスでMyModelが表示されます。これは正しいアプローチですか?

答えて

0

私の意見では、彼らは異なるモデルを持ち、相互依存を避けるために必要なマッピングを行うべきです。この場合、両方のプロジェクトは完全に終了しました。このアプローチはData transfer object (DTO)と呼ばれます。

はあなたが異なるだけで、プロジェクトの変更

  • でのモデルは明らかに、あなたのドメイン
  • の外に他のモデルに縛られることはありませんならば、大きな効果もあなたがマッピング
  • ませスルー必要なものを気に

    • メリット

    デメリット

    • あなたが異なる部分を元に取り組ん異なるチームで作業している場合は、特別にDTOを認めるであろう多くのモデル
    • 高価なプロセス

    を終了します。 1つのチームがバックエンドのためにビューと別のチームを呼び起こします。また、外部APIを消費する場合。しかし、あなたはこのアプローチをあなたの場合に適用することができます。

  • +0

    このdtoモデルは、web apiプロジェクトとmvcプロジェクトの両方のプロジェクトに存在するはずですか? – user1765862

    +0

    いいえ、もしあなたがそうするなら、それは目的を破るでしょう – jtabuloc

    関連する問題