1

エンティティ フレームワーク駆動型のソリューションがあり、その上にビジネス レイヤーとサービス レイヤーがあり、テスト コンソール アプリケーションにメソッドを公開しています。コンソール アプリは、私のエンティティ フレームワークを認識していません。エンティティ フレームワーク データ オブジェクトを受け取り、それらを共有ライブラリ プロジェクトにあるカスタム DTO に転送する変換クラスがあります。したがって、私のデータベース アクセス レイヤーは、他のレイヤーと同様に共有ライブラリを使用します。

さて、MVC3 アプリケーションをビルドしてみたいと思います。それで、それを私のソリューションで別のプロジェクトとしてビルドし、MVC アプリケーションのコントローラー部分が現在のソリューションのサービス層を参照するのは正しいですか? たとえば、私のサービス レイヤーは、List を返す「GetAllUsers」というメソッドを公開しています。次に、そのリストを取得してモデル (MVC の M 部分) を作成し、それをビューに渡します。それは大丈夫だと思いますか?

4

2 に答える 2

2

私は大きな専門家ではありませんが、大丈夫で正しいと思います。MVC アプリケーションを作成した私の経験に基づいて、MVC アプリケーション自体と、データベース、データベース モデルまたはデータベース モデル クラス、データベース リポジトリ、ビジネス モデルなど、ソリューション全体の他の部分を分離することは正しいことです。また、必要に応じて、サービス層に基づいて、MVC アプリケーション プロジェクトで ViewModel クラスを直接作成できます。つまり、もう1つの抽象化レベルを作成し、リストを処理するためではなく、表示する結果を送信するためだけにコントローラーを使用します。

于 2012-08-20T02:09:09.300 に答える