模型视图控制器入门

模型 - 视图 - 控制器(MVC)是软件设计中的架构模式而不是设计模式 ,它描述了构建应用程序的方式以及该结构中每个部分的职责和交互。 [1]

从历史上看,MVC 最初由 Trygve Reenskaug 于 1979 年描述为一种接近(桌面)GUI(图形用户界面)设计的方法。Reenskaug 描述了他早期的 Smalltalk 和面向对象的概念性工作如下: [2]

“MVC 被认为是用户控制大型复杂数据集问题的一般解决方案。最难的部分是为不同的架构组件找到好名字。模型 - 视图 - 编辑器是第一套。经过长时间的讨论,特别是对于 Adele Goldberg,我们以模型 - 视图 - 控制器这两个术语结束。“

MVC 在 Web 应用程序中的广泛普及是由于它包含在两个非常受欢迎的框架中:Struts 和 Ruby on Rails。这两个环境标志着后来创建的数百个框架的方式。 [3]

好处:

  1. 它非常受欢迎。
  2. 当与前端控制器模式结合使用时,它提供强大的路由。 (基于网络的 MVC)
  3. 它实现了关注点的分离。
  4. 它使协作变得更容易,因为不需要关注。
  5. 它可以更轻松地跟踪复杂的应用程序的工作方式,从而减少贡献者贡献时的错误。

缺点:

  1. 抽象可能会使相对简单的应用程序过于复杂化。
  2. 由于涉及许多概念,学习曲线可能很困难。
  3. 许多框架将自己描述为 MVC,但实现方式不同,因此一个开发人员将具有不同的习惯。