【问题标题】:Asp.net mvc How is the better way to build Business Logic Layer?asp.net mvc 怎样搭建业务逻辑层比较好?
【发布时间】:2014-07-15 07:18:00
【问题描述】:

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

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

在我的控制器中,我创建了 Unit Of Work 的实例并按如下方式使用:

protected readonly IUnitOfWork unitOfWork;    

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

现在我正在尝试实现业务层,但我不知道该怎么做。

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

【问题讨论】:

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


    【解决方案1】:

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

    这个想法是你打开解决方案,看看他们是如何做事的,并采取你认为与你自己的项目相关的任何事情。

    您会注意到控制器不是与一个服务对话,而是与许多服务对话,而这些服务又与存储库和工作单元对话(并使用)。

    这种方法使您的控制器不那么混乱,因为您将工作委派给其他层,从而使您的代码更具可读性和可维护性。

    HTH。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-03
        • 2011-09-03
        • 2017-01-10
        • 2018-04-17
        • 2010-12-18
        • 1970-01-01
        • 2021-02-24
        • 2011-11-26
        相关资源
        最近更新 更多