前端的开发模式从经典的 MVC 框架,到完全独立出来 controller 层的 MVP,再到以 vue、angular、react 引领的的 MVVM 框架。
M 指的是 model(业务逻辑、接口数据层),V 指的是 view(用户可视页面层),C、P、VM 指的是 controller(用户界面和后台接口之间的控制层,主要作用是预处理用户输入,应用逻辑处理)
MVC 模式由施乐公司,于上个世纪 70 年代提出,数据处理逻辑如下:
model 层处理完信息,直接与 view 层通信。
优点:实现了前后端解耦、分离。缺点:view 层的分离不够彻底,组件化困难。
MVP 模式由 IBM 子公司,于上世纪 90 年代提出,数据处理逻辑如下:
完全借由 P(presenter) 中间层处理逻辑,但与 view 的通信需要手动同步。
优点:实现了 view 层的分离,独立,由中间层统一逻辑处理。缺点:中间层与 view 层的通信不够自动、同步。
MVVM 模式由微软公司,于 2005 年提出,数据处理逻辑如下:
实现了控制层与 view 的自动同步。优点:实现了自动同步中间层与 view 的通信。缺点:不适用简单项目,数据绑定在 view 模板中,不能 debug 调试。
详细内容请参考:https://segmentfault.com/a/11…