1

mvc を使用して登録ログイン アプリケーションを作成する必要があり、このアプリケーションは多層化する必要があります。

私は多層アーキテクチャについてあまり知りません。数回読んだだけです。だから私は標準的なmvcアプリケーションを信じています:

プレゼンテーション層 - 私の見解 ビジネス層 - コントロール

データ アクセス レイヤーはどこに配置すればよいですか。私のアプリケーションでは、ユーザーが登録をクリックすると、モデルが動作します。モデルが有効かどうかを確認し、エンティティ フレームワークを使用してデータベースに配置し、ユーザーをウェルカム ページにリダイレクトしますが、このアーキテクチャにはデータ アクセス レイヤーがありません。

データへのアクセス権をどこに置くべきで、どのような責任を与えるべきですか?

たとえば、すべてのエンティティ フレームワーク コードを他のクラスに移動する必要がありますか?それとも、ユーザーをデータベースに入れているコードを移動して、それ自体をモデル化する必要がありますか?

4

2 に答える 2

1

別のプロジェクトをデータ アクセス レイヤーとして作成できます。それをデータベースに接続し、このプロジェクトで EF を使用し、EF を使用してすべてのビジネス操作を実行するクラスを作成します。ビジネス ロジックを実際のデータベース アクセス ロジックから分離し、別のプロジェクトに配置することもできますが、EF 自体が ORM であり、すべてのデータ アクセス ロジックを備えているため、これは不要だと思います。

ここで、ビューがプレゼンテーション レイヤーである MVC プロジェクトでこのプロジェクトを参照します。モデルは、ビューモデルまたはビジネス モデルである可能性があります。いずれにせよ、プレゼンテーション層とビジネス層の間の変換を管理する必要があります。コントローラではこれを行わないでください。これを行うには、MVC の「ファット モデル、スキニー コントローラー」の哲学に従って、別のコンバーター クラスを作成します。

于 2014-08-18T14:31:08.110 に答える
-2

ビューはプレゼンテーション レイヤーであり、ビジネス レイヤーはコントローラーである必要があります。各ビューはコントローラーと対話し、コントローラーは Entity Framework と通信します。

MVC モデルとその動作について、より正確に読むことをお勧めします。

于 2014-08-18T14:16:21.180 に答える