MVC模型&控制器在哪里写

时间:2009-06-17 08:28:26

标签: asp.net-mvc

我们已经开始使用MVC框架了,现在我们对在控制器或模型中编写业务逻辑的位置感到困惑?

对于项目,我们将使用WCF层作为DAL。

人们对Model& amp;控制器,与在“M”或“C”中编写业务逻辑的想法不同。

最佳做法是什么?

我相信我们将在Model中访问WCF(DAL)服务并应用所有业务逻辑或过滤,然后Controller从模型中访问数据。

4 个答案:

答案 0 :(得分:3)

尝试将-Business-逻辑和-Application流逻辑分开。大多数人倾向于将这些组合在一起作为商业逻辑 -

答案 1 :(得分:3)

这些是我的规则:

<强>控制器

主要是Pageflow。确定接下来显示的视图。

可以访问服务(即productService.GetProduct(Model.ProductID))

型号

我有2个。

POCO-Classes - 由所有图层使用(BLL,DAL)

ViewModel - 由View和Controller用于强加类型的视图。

查看

希望主要是简单的HTML

我尝试以某种方式设置布局,可以让不同类型的人在项目中工作:前端人员和后端人员。 后端人员将执行服务和存储库。

前端人员将执行控制器和视图。他也做了ajax。

答案 2 :(得分:1)

大多数人将他们的业务逻辑保留在模型中,这被认为是最佳实践。编写xVal的Steve Sanderson赞同这种方法。

  

正如我之前所讨论的,验证规则应该放在您的域模型中,因为您的模型的角色是代表您的业务运作。无论UI编码器是否记住这些规则,它都可确保规则得到一致执行。

查看他关于你正在讨论的问题的xVal的帖子。

答案 3 :(得分:1)

不要以为该模型应该仅从数据访问逻辑(在您的情况下为wcf服务)构建。我建议你查看Domain Driven Design,它适合MVC。控制器不应包含任何业务逻辑。控制器动作方法应为~20行以内。但这只是我的意见(由无数来源组成)。