【问题标题】:When is MVC no longer applicable in large projects?MVC 何时不再适用于大型项目?
【发布时间】:2010-11-13 10:17:44
【问题描述】:

在一些较小的网站上使用了一些 PHP 框架,例如 Codeigniter 和 Kohana,我开始怀疑 MVC 是否仍然适用于较大的项目,如果可以,需要采取哪些预防措施来保持干净的代码。较大的网站使用哪些做法来防止这种情况发生? Amazon 或 Flickr 的代码是否使用 MVC 或它的某种变体?是否有针对特定问题的指南向您展示如何最好地为大型项目实施 MVC?

-- 切线--

在当前使用 Kohana 的项目中,我开始质疑我的模型应该扮演什么角色。很多时候,模型只能描述我正在尝试构建的对象的一小部分。即,需要一个用户对象,所以我使用我的用户模型从用户表中提取我的用户。但是每个用户的库存中也有几个项目,所以我还需要使用 Users_Inventory_Model。但是,每个库存项目也有与之关联的其他表,依此类推,直到我发现在我的控制器中构建单个用户需要我访问多个模型。现在,想象一下在许多不同的控制器中执行此操作,突然间我发现自己有凌乱和冗余的代码以及非常胖的控制器。

这让我想到,也许我应该有一些库来处理大部分繁重的工作。这样,我可以拥有一个用户库,让它加载我所有相关的用户数据并运行大部分逻辑,例如更新、删除等。这是大多数 MVC 项目发展的方式吗?让库与模型进行大部分交互,而控制器调用库并为视图准备数据?无论如何,这只是我对 MVC 的一些疑问,我一直无法在网上找到答案。

【问题讨论】:

  • 好吧,stackoverflow.com 是用 mvc 构建的 :-)

标签: model-view-controller kohana models


【解决方案1】:

事实上,它适用于所有这些 MVP 和 MVC 真正大放异彩的大型项目。所有软件设计模式都是“创建”的(除了建立通用词汇表)来处理软件的复杂性。因此,如果使用得当,MVC 将在大型项目中对您有很大帮助。

与小型应用程序相比,这些应用程序可以通过仅使用鼠标的方法一起破解,但支持起来却是一场噩梦,因为没有适当的分离,也不足以SOLID。

【讨论】:

  • 那篇文章中链接的 PPP 书籍值得一读吗?或者我可以在网上找到同等材料吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-16
  • 1970-01-01
  • 2017-09-28
  • 2018-04-21
  • 2021-01-19
相关资源
最近更新 更多