MVC
在 MVC 架构中,一个应用被分成三个部分,即模型(Model)、视图(View)、控制器(Controller)。
MVP
MVP 由 MVC 演变而来,Presenter 负责逻辑的处理,Model 提供数据,View 负责显示。它与 MVC 最大的区别就是 View 不直接使用 Model,它们之间的通信是通过 Presenter 来进行的,所有的交互都发生在 Presenter 内部,而在 MVC 中 View 会直接从 Model 中读取数据。
MVVM
MVVM 的核心是数据驱动,即 ViewModel,ViewModel 是 View 和 Model 的关系映射。ViewModel 是一个值转换器,负责转换 Model 中的数据对象,使得数据变得更加易于管理和使用。
SPA
Single Page Application,即单页应用程序,整个应用只有一个 Web 页面。浏览器一开始会加载必须的 HTML、CSS 和 JavaScript,所有的操作都在这个页面上完成,由 JavaScript 来控制页面的局部刷新。
优点:
- 更加利于前后端分离
- 无需刷新页面就能获得良好的体验
- 减轻服务器压力,服务器只需要处理数据
- 共用一套后端程序
缺点:
- 初次加载慢(使用异步加载、代码压缩等进行优化)
- 路由问题(需要后端配合手动处理)
- 不利于 SEO(通过服务端渲染技术)