Какова общая практика сохранения определений функций в asp.net-mvc? - PullRequest
0 голосов
/ 14 марта 2019

У меня вопрос не о коде, а о хорошей практике.В моем приложении asp.net MVC мне нужно написать функцию, которая рассчитывает самую длинную возрастающую подпоследовательность, так где я должен сохранить эту функцию?Мое мнение состоит в том, чтобы создать другой файл в моем проекте создать класс и добавить эту функцию там.

1 Ответ

1 голос
/ 14 марта 2019

Вы можете начать думать о своем проекте с точки зрения слоев:

  • У вас есть уровень представления или пользовательский интерфейс, состоящий из представлений и контроллеров, которые определяют, как и как выполняются действия.
  • У вас есть уровень доступа к данным, отвечающий за связь с вашей базой данных.
  • У вас есть уровень бизнес-логики, в котором определены ваши бизнес-правила и модели предметной области.

В моем приложении asp.net mvc мне нужно написать функцию, которая вычисляет самую длинную увеличивающуюся подпоследовательность, так где я должен сохранить эту функцию?

Вы можете ответить на этот вопрос, определив, какой слой должен бытьотвечает за выполнение этой логики.Это относится к уровню представления?Конечно, нет, поскольку для пользовательского интерфейса не важно, как вы вычисляете подпоследовательность.Так что эту функцию не следует помещать в контроллеры.

Тогда я предлагаю создать службу, которая будет отвечать за выполнение этого вычисления.Что-то вроде:

public class CalculationsService : ICalculationService
{
    public int[] GetLongestIncreasingSubsequence(int [] seq)
    {
        // ...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...