模型视图控制器入门
模型 - 视图 - 控制器(MVC)是软件设计中的架构模式 ,而不是设计模式 ,它描述了构建应用程序的方式以及该结构中每个部分的职责和交互。 [1]
从历史上看,MVC 最初由 Trygve Reenskaug 于 1979 年描述为一种接近(桌面)GUI(图形用户界面)设计的方法。Reenskaug 描述了他早期的 Smalltalk 和面向对象的概念性工作如下: [2]
“MVC 被认为是用户控制大型复杂数据集问题的一般解决方案。最难的部分是为不同的架构组件找到好名字。模型 - 视图 - 编辑器是第一套。经过长时间的讨论,特别是对于 Adele Goldberg,我们以模型 - 视图 - 控制器这两个术语结束。“
MVC 在 Web 应用程序中的广泛普及是由于它包含在两个非常受欢迎的框架中:Struts 和 Ruby on Rails。这两个环境标志着后来创建的数百个框架的方式。 [3]
好处:
- 它非常受欢迎。
- 当与前端控制器模式结合使用时,它提供强大的路由。 (基于网络的 MVC)
- 它实现了关注点的分离。
- 它使协作变得更容易,因为不需要关注。
- 它可以更轻松地跟踪复杂的应用程序的工作方式,从而减少贡献者贡献时的错误。
缺点:
- 抽象可能会使相对简单的应用程序过于复杂化。
- 由于涉及许多概念,学习曲线可能很困难。
- 许多框架将自己描述为 MVC,但实现方式不同,因此一个开发人员将具有不同的习惯。