4

我目前正在构建一个 MVC 应用程序(尤其是 ASP.NET,但我想这也是一个更广泛的问题)。我已经在几个不同的情况下看到过这个问题,但是我无法从这些讨论中弄清楚我自己的情况。我有控制器,例如:

  • 家庭控制器
  • 帐户控制器
  • EventController(我们的客户有事件)
  • MenuController(网站导航)
  • 报告控制器

我也有一些用控制器不太清楚管理的项目,这就是我的问题所在。注册后,我们的客户需要填写他们“个人资料”的许多不同方面,例如商业信息、支付卡、银行帐户、经理联系人(姓名/电话)。

目前我们已经创建了一个“ProfileController”,具有发布/获取功能,例如:

    [HttpGet]
    public ActionResult Business()

    [HttpPost]
    public ActionResult Business(...)

他们的银行账户信息、支付卡、经理等也会有类似的东西。

这感觉不对。这一切都应该移到 AccountController 中吗?这些项目是否真的不值得拥有自己的控制器,或者这些组件中的每一个都应该有自己的控制器?

4

1 回答 1

4

开发 MVC 应用程序类似于开发 REST 应用程序,您可以将 REST 原理应用于开发 MVC 应用程序。首先,您必须考虑资源。根据 REST,资源是可以通过 URL 访问的实体。

如果您觉得上面所说的每个模型都是一个资源,并且用户可以通过单独的 URL 访问它,那么您可以继续为每个其他模型创建一个单独的控制器,单个 AccountController 就可以了。

如果您绘制资源和 URL,那么您可以轻松地确定您必须在应用程序中创建多少个控制器。

于 2012-05-11T17:22:23.373 回答