在asp.net-mvc中保存函数定义的常见做法是什么

时间:2019-03-14 07:56:20

标签: asp.net-mvc

我有一个问题,不是关于代码,而是关于一个好的实践。 在我的asp.net mvc应用程序中,我需要编写计算最长递增子序列的函数,那么我应该在哪里保存该函数? 我的意见是在我的项目create类中创建其他文件,然后在其中添加此功能。

1 个答案:

答案 0 :(得分:1)

您可以从分层的角度来考虑您的项目:

  • 您有一个表示层或UI,由决定操作如何执行以及如何执行的视图和控制器组成。
  • 您有一个数据访问层,负责与数据库进行通信。
  • 您有一个业务逻辑层,用于定义您的业务规则和域模型。
  

在我的asp.net mvc应用程序中,我需要编写计算最长递增子序列的函数,那么我应该在哪里保存该函数?

您可以通过确定哪个层负责执行此逻辑来回答此问题。这是否属于表示层?当然不是,因为UI并不关心您如何计算子序列。因此,不应将此功能放在控制器中。

然后,我的建议是创建一个将负责执行此计算的服务。像这样:

public class CalculationsService : ICalculationService
{
    public int[] GetLongestIncreasingSubsequence(int [] seq)
    {
        // ...
    }
}