前端MVC、MVP、MVVM三种架构模式对比(限前端范畴)

MVC

前端MVC、MVP、MVVM三种架构模式对比(限前端范畴)

问题:

  1. View不能独立处理用户事件
  2. 一个View对应一个Model,复用性差
  3. 适合*面、多业务处理的后端使用

模式

主要使用的是策略模式

MVP

前端MVC、MVP、MVVM三种架构模式对比(限前端范畴)

改良:

  1. 用户事件由View处理
  2. ModelView完全解耦,View可抽离为接口提供给上层使用
  3. View可抽离为独立组件,适合事件处理

问题

ModelView的数据同步需要Presenter手动绑定,Presenter过重

模式

主要使用的是观察者模式

MVVM

前端MVC、MVP、MVVM三种架构模式对比(限前端范畴)

改良

ViewModel自动同步,只需要指定View要显示的数据对应哪一部分的Model即可。这种架构模式目前是最适合前端使用的。

总结

  1. MV*的目的是把数据、业务逻辑、界面三块解耦,分离关注点
  2. 业务逻辑不再关注底层数据读写,而数据以对象形式导给业务逻辑
  3. 前端以界面逻辑为主