我在此示例应用中的http://www.asp.net/mvc创建了示例电影应用单层。但我想让3层应用程序分别是DataLayer,BusinessLayer和WebLayer。
有人有这个想法吗?
任何答案或建议都将不胜感激!
谢谢, Imdadhusen
答案 0 :(得分:1)
您可以使用Visual Studio中的任何新MVC向导来创建MVC应用程序。这将成为UI层。您可以命名此项目,例如,Movie.UI。完成此操作后,您可以转到文件|添加| New Project ...并为您的数据访问层添加一个类库项目。您可以将此项目命名为Movie.Data。然后重复此步骤,并将另一个类库项目添加到您的解决方案中,该项目将用于您的业务逻辑层(即Movie.Business)。
在解决方案中拥有所有三个项目后,可以在它们之间添加必要的引用。通常,您的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项目中,首先需要添加对Movie.Data项目的引用:
最后,你的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);
}
}
}
}
希望这有帮助。