Asp.net mvc构建业务逻辑层的更好方法是什么?

时间:2014-05-26 13:36:48

标签: architecture asp.net-mvc-5 service-layer business-logic-layer

您好我有一个直接与DAL层通信的项目。

在DAL层我使用两种模式:存储库和工作单元。

在我的控制器中,我创建了工作单元的实例并按如下方式使用:

protected readonly IUnitOfWork unitOfWork;    

public MyController(IUnitOfWork unitOfWork)
{
    this.unitOfWork = unitOfWork;
}

现在我正在尝试实施业务层,但我对如何做是很困惑。

在业务层中,我将为每个存储库创建一个服务类。每类服务必须能够与一个或多个存储库通信。 UI项目应该只与Business项目通信,对吧?

2 个答案:

答案 0 :(得分:2)

如果您想要一个好的架构,我强烈建议您查看(并下载)nopCommerce

我们的想法是,您打开解决方案并查看他们如何做事并采取您认为与您自己项目相关的任何内容。

你会注意到一个控制器不是一个,而是许多服务,而这些服务反过来说这些服务与存储库和工作单元交谈(和使用)。

这种方法使您的控制器不那么混乱,因为您将工作委托给其他层,这反过来又使您的代码更易读和可维护。

HTH。

答案 1 :(得分:1)

使用Viewmodel将结果返回给业务层中的控制器,并将视图模型绑定到View。浏览我之前的帖子以了解更多信息,或者如果需要详细信息,请发送电 在业务层中使用unitofwork而不是在控制器和控制器中,只能将业务层返回的视图模型作为对象或集合。每个视图模型类都包含一组属性