優(yōu)惠活動(dòng) - 12周年慶本月新客福利
優(yōu)惠活動(dòng) - 12周年慶本月新客福利
優(yōu)惠活動(dòng) - 12周年慶本月新客福利

前后分離MVC模式的Web開發(fā)

       前后分離MVC模式的Web開發(fā)。視圖層(V)是頁(yè)面的搭建,顯示各種數(shù)據(jù),劃分為前端;模型層(M)是存儲(chǔ)各種數(shù)據(jù)和處理不同的業(yè)務(wù)邏輯,劃分為后端。最關(guān)鍵是控制層的劃分,因?yàn)檫@關(guān)系到前后耦合問(wèn)題的處理??刂茖樱–)是具備轉(zhuǎn)發(fā)和處理請(qǐng)求的功能,它是一個(gè)信息的調(diào)配處理器,解析客戶端的請(qǐng)求內(nèi)容并把此內(nèi)容發(fā)送給某個(gè)服務(wù)端,服務(wù)端得到內(nèi)容在模型層處理后,反饋內(nèi)容給控制層,再由此給客戶端發(fā)送正確的網(wǎng)頁(yè)頁(yè)面。雖然說(shuō)控制層和模型層的交流比較簡(jiǎn)單,用來(lái)進(jìn)行數(shù)據(jù)交互。從控制層的作用來(lái)看,它是數(shù)據(jù)的交互和調(diào)度地方,沒(méi)有業(yè)務(wù)邏輯,所以把控制層劃分到前端比較合理。

       大多數(shù)門戶網(wǎng)站在構(gòu)建中將Node.js作為中間層,利用Express開發(fā)企業(yè)網(wǎng)站。用戶訪問(wèn)企業(yè)網(wǎng)站的門戶時(shí),服務(wù)端進(jìn)行判定且響應(yīng)。如果頁(yè)面需要?jiǎng)討B(tài)型的數(shù)據(jù),Node會(huì)把用戶id作為請(qǐng)求的參數(shù)發(fā)送給后端的接口,后端接受請(qǐng)求處理后以JSON的形式返還給Node層。數(shù)據(jù)傳達(dá)到Node層后,運(yùn)用函數(shù)回調(diào)渲染相應(yīng)的頁(yè)面,這些獲取的數(shù)據(jù)會(huì)注入到EJS模板,將JSON數(shù)據(jù)轉(zhuǎn)換成HTML,最終將文件顯示在瀏覽器里,這時(shí)用戶就可以看到。

       前后分離模式的應(yīng)用,它有一個(gè)優(yōu)勢(shì)就是后端的數(shù)據(jù)使用性非常強(qiáng)。舉個(gè)例子,我們今天查詢天氣預(yù)報(bào)非常方便,不過(guò)天氣預(yù)報(bào)的查詢功能調(diào)用的是外部接口,用戶發(fā)送請(qǐng)求某個(gè)城市的天氣情況請(qǐng)求,前臺(tái)獲取請(qǐng)求參數(shù),運(yùn)用AJAX技術(shù)向Node層發(fā)出請(qǐng)求,由Node層發(fā)送二次請(qǐng)求給天氣預(yù)報(bào)接口,然后天氣預(yù)報(bào)接口響應(yīng)請(qǐng)求參數(shù)處理后將響應(yīng)的數(shù)據(jù)原路反饋給Node端,再轉(zhuǎn)回前臺(tái)頁(yè)面,用戶刷新一下就得到某個(gè)城市的天氣預(yù)報(bào)。正式利用這種前后分離模式,使得天氣預(yù)報(bào)的后端只注重天氣數(shù)據(jù)的更新,而不需要再去關(guān)注頁(yè)面的結(jié)構(gòu),前端只需要注重界面對(duì)用戶的呈現(xiàn),而不需要去更新數(shù)據(jù),而且這種平臺(tái)在任何網(wǎng)絡(luò)連接到的地方都可以用到天氣預(yù)報(bào)的數(shù)據(jù),這就說(shuō)明了可以復(fù)用前后分離數(shù)據(jù)。

本文地址:http://m.blackside-inc.com//article/23950.html
相關(guān)文章:
最新文章: