我已经阅读了很多关于MVC设计模式的内容,但其中有些东西还不太清楚。我知道“Model”是用于数据和业务逻辑,“View”是用于展示,“Controller”是用于使用“Models”并提供“Views”(即C是M和V之间的通信渠道)。
现在,我有以下问题要解决:
问题:Web应用程序从用户那里获取节点列表作为输入。然后,使用一个Model将这些节点制成图表(即数据结构图表而不是x-y图表)(使用数据库)。
然后,我使用Dijkstra算法在该图表中找出从起始节点到终止节点的最短路径。我应该在Model层还是Controller层中使用Dijkstra算法?
我认为我应该在Model层中使用,因为“最短路径”本身就是数据。
但有时,我认为我应该把它放在Controller中,因为它使用Models(图表和节点列表)来完成某些操作。
有人能给我正确的答案吗?目前,我打算在Model层中实现Dijkstra算法。