我正在学习ASP.NET MVC,并查看ASP.NET MVC示例应用程序NerdDinner。
Dinner.cs的类。这是主要的晚餐实体。这个班不应该在别的地方吗?例如“域”?相反,是否应该将viewmodel类放在包含晚餐信息的Models文件夹中?任何有关这方面的清洁将是非常感谢的!
发布于 2011-02-26 19:39:26
ViewModels,以使其他从事项目工作的人员更加清楚。ViewModels文件夹中。但是我相信你在NerdDinner中所拥有的只是一个简单的视图助手来生成分页标记。而且,帮助者可能没有那么严格的“视图”或" ViewModel“--它们可以包含简单的逻辑,它们处于视图和ViewModel之间的中间:)。还要注意的是,PaginatedList更多地是一个“框架”关注点,而不是一个“特定解决方案”。所以你不能把它放在“视图”或者“模型”文件夹中。所以“帮手”对NerdDinner来说已经足够好了。在真正的解决方案中,您最好让它变得通用,将其包含在MVC之上的“框架”中。发布于 2011-02-26 19:51:03
对于第一个问题,Dinner.cs文件包含Dinner类的一部分以及好友类上的一些验证属性。IMHO将这个文件放入Model文件夹是完全正确的,因为它实际上是解决方案模型的一部分。
对于第二个问题,PaginatedList是一种数据结构,允许您一次查看数据的某个“页面”(一组固定的元素)。我并不认为它是一个ViewModel,一个“帮手”正是它的本质。
我还要补充的另一件事是,如果您有一些ViewModels传递给您的视图,而不是实际的模型类,或者因为您有一组特定的数据元素要传递,我认为为此设置一个单独的ViewModel文件夹是合理的。
希望这会有所帮助:)
https://stackoverflow.com/questions/5129153
复制相似问题