MVC

在 MVC 架构中,一个应用被分成三个部分,即模型(Model)、视图(View)、控制器(Controller)。
名词解释 - 图1

MVP

MVP 由 MVC 演变而来,Presenter 负责逻辑的处理,Model 提供数据,View 负责显示。它与 MVC 最大的区别就是 View 不直接使用 Model,它们之间的通信是通过 Presenter 来进行的,所有的交互都发生在 Presenter 内部,而在 MVC 中 View 会直接从 Model 中读取数据。

MVVM

MVVM 的核心是数据驱动,即 ViewModel,ViewModel 是 View 和 Model 的关系映射。ViewModel 是一个值转换器,负责转换 Model 中的数据对象,使得数据变得更加易于管理和使用。
名词解释 - 图2

SPA

Single Page Application,即单页应用程序,整个应用只有一个 Web 页面。浏览器一开始会加载必须的 HTML、CSS 和 JavaScript,所有的操作都在这个页面上完成,由 JavaScript 来控制页面的局部刷新。
优点:

  1. 更加利于前后端分离
  2. 无需刷新页面就能获得良好的体验
  3. 减轻服务器压力,服务器只需要处理数据
  4. 共用一套后端程序

缺点:

  1. 初次加载慢(使用异步加载、代码压缩等进行优化)
  2. 路由问题(需要后端配合手动处理)
  3. 不利于 SEO(通过服务端渲染技术)