我们已经开始使用MVC框架了,现在我们对在控制器或模型中编写业务逻辑的位置感到困惑?
对于项目,我们将使用WCF层作为DAL。
人们对Model& amp;控制器,与在“M”或“C”中编写业务逻辑的想法不同。
最佳做法是什么?
我相信我们将在Model中访问WCF(DAL)服务并应用所有业务逻辑或过滤,然后Controller从模型中访问数据。
答案 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行以内。但这只是我的意见(由无数来源组成)。