MVVM:
数据初始化时,为每个属性添加 Observer 劫持监听,通过Object.difineProperty() 添加对应 setter getter ,并初始化 Dep 添加到 Observer 中;另一方面解析模板时,同时添加一个更新视图的方法注入到 Watcher 中,再把 Watcher push 到各自属性的 dep 的 subs 数组中。当数据发生变化时,通过 Dep.notify() 通知 Watcher,Watcher 再调用对应的 update 实现 render 进而触发 view 更新。
MVC:
- 用户操作界面发送请求
- 触发 controller ,将对应指令和数据传给 module
- module 根据指令执行业务逻辑判断、数据库存取数据。处理完毕后,传回对应指令和数据
- controller 根据 module 传回指令选择模板视图,把模板视图和数据传给 view
- view 执行渲染,页面等待下一步操作
参考博客(mvvm):https://blog.csdn.net/weixin_46147758/article/details/104771555
参考博客(mvc):https://www.crushon.vip/post/18.html







网友评论