我正在开发MVC项目,在管理员方面,我必须为Products
,Category
,SubCategory
创建CRUD表单。
以下哪种方法会更好:
AdminController
并为产品,类别,子类别提供CRUD操作方法。感谢您的帮助
答案 0 :(得分:3)
正如其他人所说,最好有单独的控制器。我建议将它们放在管理区域中,这样你就可以将功能与主站点“分开”。
答案 1 :(得分:0)
最好让控制器保持尽可能轻,这样我就可以为每个控制器分别设置控制器。您可能希望查看MVC Controller Scaffolding功能,该功能现在可以在MVC 3工具更新中更轻松地使用。它非常适合这种“基本”CRUD工作。
答案 2 :(得分:0)
我会选择在产品控制器等中使用产品的所有功能,主要是因为Single responsibility principle
在MVC3中,如果使用添加控制器向导,则可以使用CRUD方法/屏幕自动生成控制器。
示例:http://msdn.microsoft.com/en-us/data/gg685467
imo控制器应该只是一个薄层,与正在处理所有业务逻辑的业务服务层进行通信。例如,您可以创建可以处理业务逻辑的ProductService的产品。
答案 3 :(得分:0)
通常,关注REST principles是件好事。
这个想法非常简单 - 每个“资源”都应映射到控制器(方法#2)。
然而,我认为“切割天然关节”会更好 我的意思是 - 有时为了它而分解(分成更多的控制器)会导致不必要的复杂性。控制器应根据您的用例显示。
从一个(看起来最重要)开始,然后在当前一个超过~100 loc时切片。