web-dev-qa-db-ja.com

モデルは使用せず、ビューモデルのみ

私は新しいMVC 5プロジェクトをゼロから始めています。私はEF 6(Database First)とIdentity 2.0を使用しています。

私のソリューションは、3つの異なるプロジェクトで構成されています。データ(.edmxと私のDBコンテキストがある場合)、リソース(ローカライズ目的)、およびWeb(Webプロジェクト自体)です。

デフォルトでは、すべてのビューにViewModelsを使用しています。新しいビューを作成するたびに、最初に行うのはViewModelを追加することです(ViewModelがそれらのビューに接続されている場合、それらをすべて同じファイルに保持します。たとえば、AccountViewModelに保持しているユーザーアカウントに関連するすべてのViewModel) 。これまでのところ、これにより物事が非常にシンプルになり、以前に抱えていたいくつかの問題が解決されました。

しかし、私は疑問に思っています、モデルを使用することはまったく意味がありますか?現在使用しているのはIdentityの1つだけです。これはデフォルトで作成され、Identityに固有で必要なApplicationUserとApplicationDbContextを含みます。それ以外は、すべてViewModelsです。

  • データプロジェクトは、アプリケーションの「モデル」と見なされますか?したがって、私は実際にモデルを使用しています。それは、Web\Modelsに保持する一連のクラスではなく、「モデル」(Entityによって作成されたBLオブジェクト)が格納される別個のプロジェクトです。そう思いますが、よくわかりません。
  • これは正しいアプローチですか、それとも将来的に問題が発生する可能性がありますか?これはWebプログラミングへの私の最初の取り組みなので、アドバイスをいただければ幸いです。
8
Antrim

データプロジェクトは、アプリケーションの「モデル」と見なされますか?

はい、それはまさにモデルが想定されているものです。

これは正しいアプローチですか

そうだと思います。

それとも将来的に問題が発生する可能性がありますか?

間違いなくあります。しかし、アーキテクチャの説明はあいまいなので、どのような問題が発生するかを推測することしかできません。

9
Euphoric