JS常用的設(shè)計(jì)模式是什么-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“JS常用的設(shè)計(jì)模式是什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“JS常用的設(shè)計(jì)模式是什么”吧!

創(chuàng)新互聯(lián)擁有一支富有激情的企業(yè)網(wǎng)站制作團(tuán)隊(duì),在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)深耕十載,專業(yè)且經(jīng)驗(yàn)豐富。十載網(wǎng)站優(yōu)化營(yíng)銷經(jīng)驗(yàn),我們已為上千多家中小企業(yè)提供了成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)解決方案,按需開發(fā)網(wǎng)站,設(shè)計(jì)滿意,售后服務(wù)無(wú)憂。所有客戶皆提供一年免費(fèi)網(wǎng)站維護(hù)!

MVC

MVC模式的意思是,軟件可以分成三個(gè)部分。

視圖(View):用戶界面。

控制器(Controller):業(yè)務(wù)邏輯

模型(Model):數(shù)據(jù)保存

各部分之間的通信方式如下。

View傳送指令到Controller

Controller完成業(yè)務(wù)邏輯后,要求Model改變狀態(tài)

Model將新的數(shù)據(jù)發(fā)送到View,用戶得到反饋

所有通信都是單向的。

互動(dòng)模式

接受用戶指令時(shí),MVC可以分成兩種方式。一種是通過View接受指令,傳遞給Controller。

另一種是直接通過controller接受指令。

實(shí)例:Backbone

實(shí)際項(xiàng)目往往采用更靈活的方式,以Backbone.js為例。

1.用戶可以向View發(fā)送指令(DOM事件),再由View直接要求Model改變狀態(tài)。

2.用戶也可以直接向Controller發(fā)送指令(改變URL觸發(fā)hashChange事件),再由Controller發(fā)送給View。

3.Controller非常薄,只起到路由的作用,而View非常厚,業(yè)務(wù)邏輯都部署在View。所以,Backbone索性取消了Controller,只保留一個(gè)Router(路由器)。

MVP

MVP模式將Controller改名為Presenter,同時(shí)改變了通信方向。

1.各部分之間的通信,都是雙向的。

2.View與Model不發(fā)生聯(lián)系,都通過Presenter傳遞。

3.View非常薄,不部署任何業(yè)務(wù)邏輯,稱為"被動(dòng)視圖"(PassiveView),即沒有任何主動(dòng)性,而Presenter非常厚,所有邏輯都部署在那里。

MVVM

MVVM模式將Presenter改名為ViewModel,基本上與MVP模式完全一致。

的區(qū)別是,它采用雙向綁定(data-binding):View的變動(dòng),自動(dòng)反映在ViewModel,反之亦然。Angular和Ember都采用這種模式。

到此,相信大家對(duì)“JS常用的設(shè)計(jì)模式是什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)站名稱:JS常用的設(shè)計(jì)模式是什么-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://bm7419.com/article30/igcso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、ChatGPT品牌網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、網(wǎng)站排名、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)