国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

MVC && MVVM

klinson / 935人閱讀

摘要:面向?qū)ο笫亲约航M裝電腦,硬件已生產(chǎn)完畢。面向過(guò)程吃狗屎面向?qū)ο蠊烦允捍_切的講是一種軟件設(shè)計(jì)規(guī)范,早在年的理念就已經(jīng)誕生。后期的維護(hù)成本會(huì)減少很多。減輕了開(kāi)發(fā)人員的負(fù)擔(dān),也減少了操作邏輯導(dǎo)致業(yè)務(wù)邏輯混亂的可能性。

什么是MVC,什么是MVVM?

面向過(guò)程 --> 面向?qū)ο?--> MVC --> MV*

面向過(guò)程:

開(kāi)發(fā)人員按照需求邏輯順序開(kāi)發(fā)代碼邏輯,主要思維模式在于如何實(shí)現(xiàn)。先細(xì)節(jié),后整體。

面向?qū)ο螅?/b>

開(kāi)發(fā)人員先思考整個(gè)需求該由誰(shuí)(哪個(gè)對(duì)象)來(lái)實(shí)現(xiàn),整個(gè)需求就是由很多對(duì)象來(lái)完成,然后在對(duì)象的具體邏輯中依然還是面向過(guò)程。封裝+多態(tài)+繼承,先抽象,后具體。

面向過(guò)程與面向?qū)ο蟮膮^(qū)別:

就像是電腦,面向過(guò)程是自己生產(chǎn)電腦,包括電路板、零件等。面向?qū)ο笫亲约航M裝電腦,硬件已生產(chǎn)完畢。

面向過(guò)程: 吃 狗(屎); 面向?qū)ο螅?狗 吃(屎);

MVC:

確切的講MVC是一種軟件設(shè)計(jì)規(guī)范,早在1970年MVC的理念就已經(jīng)誕生。不過(guò)長(zhǎng)期以來(lái)MVC都是應(yīng)用在重邏輯開(kāi)發(fā)的軟件領(lǐng)域和互聯(lián)網(wǎng)產(chǎn)品的后臺(tái)開(kāi)發(fā)領(lǐng)域。

開(kāi)發(fā)人員按照Model(模型) - View(視圖) - Controller(控制器)相分離的邏輯進(jìn)行需求開(kāi)發(fā),將輸入(View)、處理(Controller)、輸出(Model -> View)獨(dú)立開(kāi),這種邏輯的好處在于,業(yè)務(wù)邏輯與用戶界面分離之后,后期對(duì)于界面的改版以及對(duì)于用戶交互的處理變化,僅僅需要改動(dòng)View層即可,不在需要對(duì)業(yè)務(wù)邏輯層進(jìn)行多大的改動(dòng)。后期的維護(hù)成本會(huì)減少很多。

Model是需要渲染到頁(yè)面中的數(shù)據(jù)模型,View是用戶可以接觸到的的界面,Controller是業(yè)務(wù)邏輯控制

MVVM:

開(kāi)發(fā)人員只要考慮和處理Model(數(shù)據(jù)模型)的變化即可,不用考慮Model和View之間的數(shù)據(jù)綁定同步,更不用花精力用大量的代碼獲取DOM元素改變DOM元素的值來(lái)完成界面數(shù)據(jù)的變化。所有工作交給VM(View-Model)來(lái)處理。

MVVM并沒(méi)有業(yè)務(wù)邏輯的控制器,它通過(guò)數(shù)據(jù)雙向綁定,實(shí)時(shí)更新View和Model層,當(dāng)數(shù)據(jù)模型發(fā)生變化的時(shí)候,用戶界面(DOM)的內(nèi)容會(huì)即時(shí)更新。反之如果用戶操作導(dǎo)致某些DOM內(nèi)容變化(如input),ViewModel也會(huì)即時(shí)的將Model數(shù)據(jù)模型更新。

實(shí)際上還有一種模式叫做MVP,P是Presenter,它與MVVM類似,但不是雙向綁定。

為什么MVC?

隨著互聯(lián)網(wǎng)產(chǎn)品前端業(yè)務(wù)邏輯的日趨復(fù)雜,JavaScript已經(jīng)從最初的僅僅實(shí)現(xiàn)頁(yè)面動(dòng)態(tài)效果,隨著AJAX的誕生以及Google對(duì)于此技術(shù)的重視和推廣,現(xiàn)在的JavaScript演變成業(yè)務(wù)邏輯越來(lái)越復(fù)雜和繁重的角色,JavaScript也完美的向世人詮釋了什么才是真正的屌絲逆襲。隨著網(wǎng)站界面的復(fù)雜化,以及越來(lái)越多的互聯(lián)網(wǎng)產(chǎn)品都開(kāi)始重視用戶的交互體驗(yàn),前端的業(yè)務(wù)邏輯和數(shù)據(jù)處理能力被更加重視,也正是隨著DOM操作邏輯與業(yè)務(wù)邏輯的混雜,導(dǎo)致項(xiàng)目代碼隨著時(shí)間的推移越來(lái)越多,越來(lái)越混雜,越來(lái)越難以維護(hù)。最早出現(xiàn)的MVC理念的JS框架便是幾年前進(jìn)入前端領(lǐng)域的Backbone.js。MVC設(shè)計(jì)理念終于被應(yīng)用到的前端開(kāi)發(fā)的領(lǐng)域。也正是因?yàn)榍岸薓VC理念的普及,更多的人認(rèn)識(shí)到了前端開(kāi)發(fā)工程師的價(jià)值已經(jīng)不只是過(guò)去那種只做表面功夫的"偽程序員"。前端開(kāi)發(fā)工程師的春天才剛剛開(kāi)始。

復(fù)雜的Web App
將開(kāi)發(fā)重心從DOM操作,轉(zhuǎn)移到數(shù)據(jù)操作,將DOM操作與程序邏輯解耦。
期望提升開(kāi)發(fā)效率、單位時(shí)間產(chǎn)出、后期代碼擴(kuò)展性,降低維護(hù)成本

MVC另一種角度來(lái)說(shuō)算是一個(gè)公司技術(shù)團(tuán)隊(duì)的開(kāi)發(fā)規(guī)范,只有規(guī)范的邏輯代碼,才能獲得敏捷開(kāi)發(fā)的便捷和高效,也可以得到相較為規(guī)范的開(kāi)發(fā)模式更好的代碼擴(kuò)展性和可維護(hù)性。

為什么MVVM?

數(shù)據(jù)雙向綁定,開(kāi)發(fā)人員不用再把精力放在DOM的修改和更新,只要通過(guò)模板引擎將數(shù)據(jù)模型和用戶界面綁定,框架會(huì)實(shí)時(shí)同步雙方數(shù)據(jù)的變化。減輕了開(kāi)發(fā)人員的負(fù)擔(dān),也減少了DOM操作邏輯導(dǎo)致業(yè)務(wù)邏輯混亂的可能性。

為什么使用AngularJS

最早開(kāi)始普及的前端MVC框架是Backbone,之后借鑒這種開(kāi)發(fā)模式的框架如雨后春筍般進(jìn)入開(kāi)發(fā)者的視野。互聯(lián)網(wǎng)巨頭們也開(kāi)始推出自己的MV*框架:
微軟 - Knockout.js - MVVM
Google - Angular.js - MVC & MVVM
蘋(píng)果 - Ember.js - MVC & MVVM
Facebook - React.js - MVVM

全棧工程師 -> MEAN解決方案

AngularJS既是MVC框架又是MVVM框架

之前有說(shuō)到MVC模式就是一種開(kāi)發(fā)規(guī)范,AngularJS這個(gè)MVC框架帶給我們的好處就是,他經(jīng)過(guò)了Google很多項(xiàng)目的考驗(yàn),我們使用AngularJS也可以算是使用Google成熟的開(kāi)發(fā)規(guī)范來(lái)進(jìn)行項(xiàng)目開(kāi)發(fā)。AngularJS這個(gè)MVC框架實(shí)際上匯集了太多太多Google的優(yōu)秀理念和編程規(guī)范,這對(duì)于很多希望能統(tǒng)一開(kāi)發(fā)規(guī)范的前端Team來(lái)說(shuō)是很寶貴的。

AngularJS既是MVC框架又是MVVM框架

之前有說(shuō)到MVC模式就是一種開(kāi)發(fā)規(guī)范,AngularJS這個(gè)MVC框架帶給我們的好處就是,他經(jīng)過(guò)了Google很多項(xiàng)目的考驗(yàn),我們使用AngularJS也可以算是使用Google成熟的開(kāi)發(fā)規(guī)范來(lái)進(jìn)行項(xiàng)目開(kāi)發(fā)。AngularJS這個(gè)MVC框架實(shí)際上匯集了太多太多Google的優(yōu)秀理念和編程規(guī)范,這對(duì)于很多希望能統(tǒng)一開(kāi)發(fā)規(guī)范的前端Team來(lái)說(shuō)是很寶貴的。

感謝彬大神的指導(dǎo)和整理。關(guān)于我,偽全棧工程師。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/78402.html

相關(guān)文章

  • Deep in JS - 收藏集 - 掘金

    摘要:今天同學(xué)去面試,做了兩道面試題全部做錯(cuò)了,發(fā)過(guò)來(lái)給道典型的面試題前端掘金在界中,開(kāi)發(fā)人員的需求量一直居高不下。 排序算法 -- JavaScript 標(biāo)準(zhǔn)參考教程(alpha) - 前端 - 掘金來(lái)自《JavaScript 標(biāo)準(zhǔn)參考教程(alpha)》,by 阮一峰 目錄 冒泡排序 簡(jiǎn)介 算法實(shí)現(xiàn) 選擇排序 簡(jiǎn)介 算法實(shí)現(xiàn) ... 圖例詳解那道 setTimeout 與循環(huán)閉包的經(jīng)典面...

    enali 評(píng)論0 收藏0
  • VUE - MVVM - part13 - inject & 總結(jié)

    摘要:通過(guò)裝作這些變化,我們實(shí)現(xiàn)了從而到達(dá)了數(shù)據(jù)變化觸發(fā)函數(shù)的過(guò)程。于此同時(shí),我們還實(shí)現(xiàn)了來(lái)擴(kuò)展這個(gè)可響應(yīng)的結(jié)構(gòu),讓這個(gè)對(duì)象擁有了觸發(fā)和響應(yīng)事件的能力。最后,根據(jù)我們的實(shí)現(xiàn),這是最終的產(chǎn)出,一個(gè)框架,了解一下系列文章地址優(yōu)化優(yōu)化總結(jié) 看這篇之前,如果沒(méi)有看過(guò)之前的文章,移步拉到文章末尾查看之前的文章。 provide / inject 在上一步我們實(shí)現(xiàn)了,父子組件,和 props 一樣 pr...

    niuxiaowei111 評(píng)論0 收藏0
  • Vue源碼解析(二)-MVVM雙向綁定&&Watcher介紹

    摘要:前言上一遍文章介紹了模版渲染的實(shí)現(xiàn),這篇文章將繼續(xù)介紹雙向綁定的實(shí)現(xiàn)官網(wǎng)如下,當(dāng)。 前言 上一遍文章介紹了Vue模版渲染的實(shí)現(xiàn)(https://segmentfault.com/a/11...),這篇文章將繼續(xù)介紹雙向綁定的實(shí)現(xiàn) demo 官網(wǎng)demo如下,當(dāng)data。message的值變化,input的value值也會(huì)相應(yīng)的變化;當(dāng)用戶改變input框中的內(nèi)容時(shí)data.messag...

    miya 評(píng)論0 收藏0
  • 剖析Vue原理&實(shí)現(xiàn)雙向綁定MVVM

    摘要:所以無(wú)需太過(guò)介懷是實(shí)現(xiàn)的單向或雙向綁定。監(jiān)聽(tīng)數(shù)據(jù)綁定更新函數(shù)的處理是在這個(gè)方法中,通過(guò)添加回調(diào)來(lái)接收數(shù)據(jù)變化的通知至此,一個(gè)簡(jiǎn)單的就完成了,完整代碼。 本文能幫你做什么?1、了解vue的雙向數(shù)據(jù)綁定原理以及核心代碼模塊2、緩解好奇心的同時(shí)了解如何實(shí)現(xiàn)雙向綁定為了便于說(shuō)明原理與實(shí)現(xiàn),本文相關(guān)代碼主要摘自vue源碼, 并進(jìn)行了簡(jiǎn)化改造,相對(duì)較簡(jiǎn)陋,并未考慮到數(shù)組的處理、數(shù)據(jù)的循環(huán)依賴等,也...

    melody_lql 評(píng)論0 收藏0
  • angular,react & vue

    摘要:由進(jìn)行開(kāi)發(fā)和維護(hù),代發(fā)布于年月,現(xiàn)在主要是。狀態(tài)是只讀的,只能通過(guò)來(lái)改變,以避免競(jìng)爭(zhēng)條件這也有助于調(diào)試。文件大小為,而為,為。請(qǐng)記住,性能基準(zhǔn)只能作為考慮的附注,而不是作為判斷標(biāo)準(zhǔn)。使用的人員報(bào)告說(shuō),他們永遠(yuǎn)不必閱讀庫(kù)的源代碼。 本文當(dāng)時(shí)寫(xiě)在本地,發(fā)現(xiàn)換電腦很不是方便,在這里記錄下。 angular,react & vue 2018/07/23 2016年,對(duì)于JavaScript來(lái)說(shuō)...

    jiekechoo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<