我想为我的 ASP.NET MVC 3 应用程序使用服务层模式(如Martin Fowler 的网站所述)。
我的目标是通过在深入研究代码之前为其设置适当的框架来设置解决方案结构,以便我更轻松地学习该模式。
谁能告诉我在 Visual Studio 2010 解决方案中布局解决方案、项目和文件夹的传统方式?
我想为我的 ASP.NET MVC 3 应用程序使用服务层模式(如Martin Fowler 的网站所述)。
我的目标是通过在深入研究代码之前为其设置适当的框架来设置解决方案结构,以便我更轻松地学习该模式。
谁能告诉我在 Visual Studio 2010 解决方案中布局解决方案、项目和文件夹的传统方式?
有很多方法可以实现这一点。要么将服务层分割成一个单独的程序集,要么它可以与 ASP.NET MVC 应用程序在同一个程序集中(例如在一个Services
文件夹中)。这真的没有规则。这取决于您期望从这一层获得的可重用性水平以及项目的规模。重要的是抽象这个服务层:
public interface IMyService
{
... some service methods
}
然后让你的控制器只使用这个抽象:
public class MyController: Controller
{
private readonly IMyService _service;
public MyController(IMyService service)
{
_service = service;
}
public ActionResult MyAction()
{
... call some methods on the service layer
}
}
然后连接具体的实现,你将配置你的依赖注入框架。