问题 将ViewModel类放在MVC中的位置


我的问题很简单。我想知道把我放在哪里 ViewModels 在MVC应用程序中。

目前我正在研究的项目只有 ViewModels 它们存储在 Models 夹。在该文件夹中,我们直接创建ViewModel类。

但通常我也会 Model 类,从数据库或其他东西获取数据。然后来自 Controller 我会'谈论'一个Model方法并将结果存储在一个 ViewModel 属性。

但是我把它放在哪里 Model 课程和 ViewModel 我同时使用它们的课程?在构造这两个文件/文件夹的意义上,什么是良好的做法?


12702
2018-02-12 08:05


起源

我认为没有问题 ViewModel 夹。没有约束条件说明了 Model 文件夹应该存在。 - Andrei V
@AndreiV我知道,但我现在都有。所以放一个是“正常”的 ViewModel 在ViewModels文件夹和 Model 在Models文件夹中? - Vivendi
我会去 ViewModel 作为子文件夹 Model,如果您同时使用它们来显示视图中的数据。如果没有,单独的文件夹对我来说会更有意义。 - Andrei V


答案:


只需在项目中创建一个名为ViewModels的新文件夹即可。因此,除了Views,Controllers和Models文件夹之外,您还将拥有ViewModel。 就像您已经说过的那样,您可以使用模型与DAL交谈,并使用视图模型与您的视图交谈。


12
2018-02-12 08:22





您需要以一种方式构建文件和文件夹,以便您和跟随您的人员能够直观且易于维护。

我不认为有关文件夹结构的任何硬性规定,只有一些比其他的更糟糕。如果它看起来不合逻辑而且有点臭,那么它可能就是这样。

你提出的建议似乎很好


3
2018-02-12 08:23





创建单独的文件夹“ViewModels”并在控制器中引用名称空间并在相应的视图中引用它


0
2017-07-13 14:12