3

制作 Controller 时,拆分它的最佳方法是什么?

如果我有一个管理部分,它下面有一堆 .ascx Web 用户控件和一些 .aspx 页面。我应该有一个 AdminController 吗?或者我应该为每个单独的管理页面/网络用户控件设置一个控制器?

似乎对单个页面的操作负责与 MVC 试图从 Web 表单改进的事情之一背道而驰。但同时,您不希望您的整个网站使用一个控制器...

我了解控制器应该做什么,但一个单独的控制器应该负责多少?划分 Controller 职责的最佳方法是什么?

谢谢,
马特

4

2 回答 2

2

完全是 75% 的答案,但作为一个非常灵活的答案,每个模型一个控制器,然后给它足够的灵活性来创建、读取、更新和删除该模型(最好保持跨控制器的接口一致并避免特殊情况的接口,除非绝对必要的。)

这适用于所有情况,但不适用的情况除外!

REST 是一个很好的思考这个问题的框架。虽然以下指南针对的是 Rails 的操作方式,但许多概念应该更广泛地适用http://www.softiesonrails.com/2007/3/28/rest-101-part-1-understanding-resources

于 2009-06-22T15:27:40.363 回答
0

一个 AdminController 是一个不错的选择。控制器中的不同方法在 Admin 功能集中具有不同的职责,并在适当时具有不同的视图。

你可以在Nerddinner项目中看到这种分工。

于 2009-06-22T15:24:11.433 回答