2011-06-30 11 views
0

シングルレイヤーが含まれています。しかし、3層のアプリケーションをDataLayer、BusinessLayer、WebLayerにしたいと考えています。私は、このサンプル・アプリケーションで<a href="http://www.asp.net/mvc" rel="nofollow">http://www.asp.net/mvc</a>からサンプル<strong>作品</strong>アプリケーションを作成した

誰もそれについて考えていますか?

ご質問やご意見はありがとうございます。

あなたのMVCアプリケーションを作成するには、Visual Studioで新しいMVCウィザードのいずれかを使用することができますおかげで、 Imdadhusen

答えて

1

。これはUIレイヤになります。このプロジェクトには、Movie.UIなどの名前を付けることができます。一度これを行うと、ファイル|追加|新しいプロジェクト...あなたのデータアクセス層用のクラスライブラリプロジェクトを追加します。このプロジェクトにMovie.Dataという名前を付けることができます。この手順を繰り返し、ソリューションに別のクラスライブラリプロジェクトを追加します。これはビジネスロジックレイヤ(Movie.Businessなど)用です。

3つのプロジェクトがすべてソリューションに含まれたら、それらの間に必要な参照を追加します。通常、UIプロジェクトはビジネスレイヤプロジェクトを参照し、ビジネスレイヤプロジェクトはデータアクセスプロジェクトを参照します。

更新

あなたが参照しているこの通信では、プロジェクトを参照することにより達成まさにです。プロジェクトAからプロジェクトBへの参照を追加すると、プロジェクトAからプロジェクトBの公開タイプにアクセスする方法が確立されます。

私は、どのようにして通信するかを示すために、プロジェクト:あなたのMovie.Dataプロジェクトで

、あなたがMovieRepositoryクラスを追加します。

MovieRepository.cs

namespace Movie.Data 
{ 
    public class MovieRepository 
    { 
     public string[] GetMovies() 
     { 
      return new[] 
      { 
       "Gone with the Wind", 
       "Back to the Future", 
       "The Godfather", 
      }; 
     } 
    } 
} 

次に、あなたのMovie.UIプロジェクトでは、あなたが最初のトンを必要としますOあなたMovie.Dataプロジェクトへの参照を追加します。

  1. 右あなたがMovie.Data
  2. 最後に

を選択[プロジェクトの参照参照の追加...

  • に関する参考文献
  • クリックしをクリックして、あなたのMovie.UIプロジェクト(簡単にするために、私はそれコンソールアプリケーション製):

    Program.csの

    using System; 
    using Movie.Data; 
    
    namespace Movie.UI 
    { 
        class Program 
        { 
         private static MovieRepository _repo = new MovieRepository(); 
    
         static void Main(string[] args) 
         { 
          foreach (var movie in _repo.GetMovies()) 
          { 
           Console.WriteLine(movie); 
          } 
         } 
        } 
    } 
    

    希望します。

  • +0

    正解!しかし、私は別のプロジェクトと通信する考えがありません。あなたは持っていれば私にサンプルを送ってもらえますか? – imdadhusen

    +0

    プロジェクト間のやり取りの方法を示す例を使って自分の答えを更新しました。お役に立てれば。 –

    +1

    シンプルな例をお寄せいただきありがとうございます! – imdadhusen

    関連する問題

     関連する問題