1

我的问题是关于设计 ASP.NET MVC 站点的过程,特别是关于确定我的站点应该有哪些控制器类和操作方法。

到目前为止,这是我对设计 ASP.NET MVC 网站的过程的理解:

  1. 首先,我应该使用诸如Balsamiq之类的模型工具来创建模型,这样我就知道我的网站应该是什么样子了。这给了我意见。
  2. 其次(或同时),我为我的领域的对象建模。

给定视图和模型,我该如何处理控制器类及其操作方法?控制器可以调用不同的视图,那么我的“分解”标准是什么?

所以,我的问题是:给定视图和模型,我如何决定拥有哪些控制器以及每个控制器应该包含哪些操作方法?

4

1 回答 1

2

恕我直言,控制器应该反映一个特定的功能区域,处理一组彼此相关的功能。例如,您可以有一个专用于用户管理的控制器,您可以在其中创建和编辑用户,管理用户权限、用户配置文件以及与用户相关的任何内容,另一个用于产品管理的控制器,您可以在其中根据用户输入显示可用产品,管理股票、供应商等等……

如果控制器太多,您最终会整天重定向,如果控制器太少,维护起来会很麻烦。

当然,当我说“这个控制器管理那组功能”时,我并不是说“把你所有的业务逻辑都放在这里”。控制器的职责是调用正确的业务方法并将这些数据传递给正确的视图。

于 2013-10-23T14:42:07.820 回答