我目前正在构建一个MVC应用程序(特别是ASP.NET,但我想这也是一个更广泛的问题)。我已经在几个不同的背景下看到了这个问题,但我无法从这些讨论中弄清楚自己的情况。我有控制器,如:
我还有一些项目管理员管理不太清楚,这就是我的问题所在。注册后,我们的客户需要填写他们的“个人资料”的许多不同方面,例如商业信息,付款卡,银行账户,经理联系人(姓名/电话)。
目前我们已经创建了一个“ProfileController”,其中包含post / get函数,例如:
[HttpGet]
public ActionResult Business()
[HttpPost]
public ActionResult Business(...)
它的银行账户信息,支付卡,经理等也会有类似的东西。
这感觉不对。这一切都应该转移到AccountController吗?这些项目是否真的值得拥有自己的控制器,或者每个组件都有自己的控制器?
答案 0 :(得分:4)
开发MVC应用程序非常类似于开发REST应用程序,您可以在开发MVC应用程序时应用REST原则。首先,你必须考虑资源。根据REST,资源是可以通过URL访问的实体。
如果您觉得上面谈到的每个模型都是资源,并且用户可以通过单独的URL访问它,那么您可以继续为单个AccountController正常的其他每个模型创建一个单独的控制器。
如果您绘制资源和URLS草图,那么您可以轻松识别您需要在应用程序中创建的控制器数量。