MVC是一种架构设计模式,强制将业务数据 (Model) 与用户界面 (View) 隔离,用控制器 (Controller) 管理逻辑和用户输入。
Model:
主要与业务数据有关,负责保存应用数据和后端交互同步应用数据,或校验数据,当Model改变时,通知View做出反应
View:
是Model的可视化表示,表示当前状态的视图,用户可以与View交互
Controller:
负责连接View和Model,Model的任何改变会应用到View中,View的操作会通过Controller应用到Model中
MVVM是VM (ViewModel) 代替了C (Controller),关键”改进“是数据绑定,即View的数据状态发生变化可以直接影响VM
-
但当多个View对应多个Model时,业务就会变得负责
-
解决:
如果渲染函数只有一个,统一放在Controller中,每次更新渲染页面,任何数据的更新都只要调用重渲染就行,并且数据和当前页面的状态时唯一确定的,这样保证数据流动的清晰,也不出现交叉分路的情况。 -
但重渲染会带来严重的性能与用户体验问题。