第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于 MVVM 設(shè)計(jì)模式

標(biāo)簽:
Vue.js

本文主要浅析传统 MVP 设计模式与先进流行的 MVVM 设计模式的一些区别,以及简要分析 MVVM 设计模式的优势等。作为 Vuejs 学习过程中的资料。由于本人水平有限,如文中出现错误请多多包涵并指正,感谢。

传统 MVP

传统前端开发中的 MVP 设计模式。把代码分为 Model 数据层、Presenter 业务逻辑控制层、View 视图层(DOM展示)。

webp

在这种设计模式中,Presenter 层在 MVP 中是最核心的一层,里面的业务逻辑是 视图 和 模型层之间的中转站。

之前的 todoList 我们通过 jQuery 去实现相同的功能的时候,观察代码我们也可以得出这样的结论。

webp


在 MVP 这种设计模式里,最核心的层是 Presenter 层。而 Model 层实际上非常的边缘。
同时在这种设计模式里,大量的代码被写在 Presenter 层。而这些代码之中,大多数都是在做 DOM 操作。

MVVM

通过 Vuejs 官方提供的示例图,可以看到 MVVM 设计模式和 MVP 的区别。

webp

在 MVVM 设计模式中,也有 Model 层,负责存储数据。有 View 层,用于显示数据。但 MVVM 设计模式中,没有 Presenter 层。取而代之的是 V-Model 层级。
V-Model 并不需要我们来 进行编写,使用 MVVM 设计模式进行编码的时候,无需关注 V-Model 这一层是如何实现的,它完全是 Vue 内置的(因为涉及到Vue框架源码的实现,不做讲解)。而我们只需要更多的关注 M 层与 V层,即模型层和视图层。

webp

对应之前通过 Vue 实现的 todoList 代码中,我们可以看到,模板标签实际上就是 MVVM 设计模式的 V层。接下来 M 层当中的代码都是在针对数据进行操作。
而随着M层数据的操作,V层也会随之改变。这样的实现就是通过V-M层实现的。而 V-M层就是通过 Vue 实现的。这样我们就更好的理解了上面那张 Vue 的官方示例图。
当使用 MVVM 设计模式进行开发的时候,着重把注意力放在 M层的开发之上。

小结

以前我们通过 MVP 设计模式进行开发的时候,是面向 DOM 进行开发。
而使用 MVVM 设计模式进行开发的时候,是面向数据编程。即极大程度的简化了代码量。这大量的代码,几乎都来自于以前的 DOM 操作。



作者:evenyao
链接:https://www.jianshu.com/p/7779e5505006


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消