何时不在 Web 应用程序中使用 MVC?

我当时正在为一个新项目勾勒出一些想法,并意识到我很难以我喜欢的方式将东西放入MVC框架(在这种情况下,CodeIgniter)。虽然我相信这可以通过更多地使用设计并找出更好的布局来克服,但它让我思考:MVC不是这里最好的答案吗?如果不是,什么时候使用MVC是项目的好主意,什么时候不是?

我觉得MVC可以用于任何Web应用程序,但我想知道什么时候它不是最好的解决方案。


答案 1

我认为MVC几乎普遍适用于我们今天看到的Web应用程序。但这并不意味着你使用的框架总是支持你想要做的事情的类型。

MVC只是一种适用于Web的模式。特别是,它适用于以下列方式访问应用程序的想法:

  • 用户要求一些资源
  • 一些基础数据是从某个地方检索的。
  • 然后将模板应用于该数据,以便将其显示给用户。

这是不可否认的Web工作方式,但是大多数Web MVC框架都是从假设开始的,即每个用户一次产生相对较少的请求,要求大量资源。我发现,随着网站移动频繁且较小的AJAX样式请求,许多框架需要一些工作才能使它们很好地运行,因为越来越多的MVC的“视图”部分需要在客户端上处理。对此的框架支持远不如对服务器端视图的成熟。但是,中心范例并没有太大变化,并且中心请求 - 查询 - 模板循环仍然存在。

简而言之:MVC是思考应用程序工作方式的好方法,但这并不意味着您将找到一个预先编写的框架来处理您的所有需求。


答案 2

MVC的价值在...

  1. 具有单个开发人员或小型团队以相同编码语言工作的项目
  2. 具有单一界面的项目(例如,仅桌面版本)
  3. 具有丰富 UI、代码主要在客户端和一系列 AJAX 调用的项目
  4. 任何不是网站的内容(例如数据馈送、实用程序等)
  5. 任何团队成员不关心简历上有“MVC”的项目
  6. 从现在起大约5年内,当MVC开始过时时,任何项目

推荐