制作控制器时,拆分它的最佳方法是什么?
如果我有一个管理部分,其下面有一堆.ascx Web用户控件和几个.aspx页面。我应该有一个AdminController吗?或者我应该为每个管理页面/网络用户控件设置一个控制器吗?
似乎负责单个页面的操作违背了MVC试图从Web窗体改进的一个方面。但与此同时,您不希望整个网站使用一个控制器......
我理解控制器应该做什么,但是一个控制器应该负责多少?拆分控制器责任的最佳方法是什么?
谢谢,
马特
答案 0 :(得分:2)
总共有75%的答案,但作为一个非常灵活的答案,每个型号一个控制器,然后只是给它足够的灵活性来创建,读取,更新和删除该模型(最好保持界面在控制器之间保持一致并避免特殊情况除非绝对必要,否则接口。)
这适用于所有情况,除了它没有的情况!
REST是思考这个问题的一个非常好的框架。虽然以下指南针对rails的方式,但很多概念应该更广泛适用http://www.softiesonrails.com/2007/3/28/rest-101-part-1-understanding-resources
答案 1 :(得分:0)
一个AdminController是个不错的选择。控制器中的不同方法在管理员功能集中具有不同的职责,并在适当时具有不同的视图。
您可以在Nerddinner项目中看到这种分工。