Я много читал о шаблонах проектирования MVC, но некоторые вещи до сих пор мне неясны. Я знаю, что «Модель» предназначена для данных и бизнес-логики, «Представление» - для представления, а «Контроллер» - для использования «Моделей» и предоставления «Представлений» (т. Е. С является каналом связи между М и V).
Теперь у меня есть следующая проблема, которую я хочу решить:
Проблема: Веб-приложение принимает в качестве входных данных список узлов от пользователя. Затем модель используется для создания графика (то есть графика структуры данных, а не графика x-y) из этих узлов (с использованием базы данных).
Затем я использую алгоритм Дейкстры, чтобы найти кратчайший путь от начального узла до конечного узла в этом графе. Я использую алгоритм Дейкстры в Модели или Контроллере?
Думаю, мне следует использовать слой Model, потому что сам "кратчайший путь" - это данные.
Но иногда, я думаю, я должен поместить его в контроллер, потому что он использует модели (график и список узлов), чтобы что-то делать.
Может кто-нибудь дать мне правильный ответ? Сейчас я собираюсь реализовать алгоритм Дейкстры на уровне модели.