小编TIH*_*Han的帖子

MVC 3 - 控制器和ViewModels - 哪些应该包含大多数业务逻辑?

目前在我的应用程序中使用工作单元模式和通用存储库,我的所有控制器都包含所有业务逻辑.我正在将所有内容都放在使用ViewModels而不是直接模型上.

虽然这是一个好主意,但现在出现了一个可以在控制器中显着分离我的业务逻辑的问题.对于控制器和ViewModel,它应该包含大部分业务逻辑?

我尝试了几种方法让我的ViewModel实际上包含所有的业务逻辑.但是,我必须在我的ViewModel的构造函数中有一个参数,它需要一个工作单元.这是一个好主意吗?

我的代码气味告诉我它.但是,我有点担心这将与执行不需要ViewModel的操作的控制器保持一致.简单地说,不需要将Model/ViewModel传递给View的操作; 这种情况发生在重定向到其他操作的操作上.这意味着,我的业务逻辑可以保留在该操作中,也可以将该业务逻辑分离为一个函数.

这里的最佳做法是什么?

c# model-view-controller controllers viewmodel asp.net-mvc-3

14
推荐指数
2
解决办法
6323
查看次数

应该使用MVC在每个View中使用ViewModel吗?

我知道您使用ViewModel来存储要在View中使用的其他模型和源的不同数据,因为模型并不总能保存您想要的内容.

我想弄清楚是否适合为每个View使用ViewModel.我问的原因是出于一致性原因.您可以拥有一个只需要Model本身的View和另一个必须拥有ViewModel的View.在你的所有观点之间混合这些是不是很好?或者每个View都应该有一个ViewModel?

这很重要,因为我的模型与数据库直接相关,因为我正在使用Entity Framework 4.1 Code First.

c# model-view-controller asp.net-mvc viewmodel asp.net-mvc-3

4
推荐指数
2
解决办法
882
查看次数