BackboneJS 應(yīng)用程序

2018-01-04 17:20 更新

Backbone.js為Web應(yīng)用程序提供了一種結(jié)構(gòu),允許分離業(yè)務(wù)邏輯和用戶界面邏輯。 在本章中,我們將討論Backbone.js應(yīng)用程序的架構(gòu)風(fēng)格,以實(shí)現(xiàn)用戶界面。 以下daigram顯示了Backbone.js的架構(gòu):

Backbone.js的架構(gòu)

Backbone.js的架構(gòu)包含以下模塊:

  • HTTP Request
  • Router
  • View
  • Events
  • Model
  • Collection
  • Data Source

HTTP請(qǐng)求

HTTP客戶端以請(qǐng)求消息的形式向服務(wù)器發(fā)送HTTP請(qǐng)求,其中web瀏覽器,搜索引擎等等作為HTTP客戶端。 用戶使用HTTP請(qǐng)求協(xié)議請(qǐng)求文件,例如文檔,圖像等。 在上面的示例中,您可以看到HTTP客戶端使用路由器發(fā)送客戶端請(qǐng)求。

Router

它用于路由客戶端應(yīng)用程序,并使用URL將它們連接到操作和事件。 它是應(yīng)用程序?qū)ο蟮腢RL表示。 URL由用戶手動(dòng)更改。 URL由骨干使用,使得它可以理解要發(fā)送或呈現(xiàn)給用戶的什么應(yīng)用程序狀態(tài)。 路由器是一種可以復(fù)制URL到達(dá)視圖的機(jī)制。 當(dāng)應(yīng)用程序中的重要位置的Web應(yīng)用程序提供可鏈接,可標(biāo)記和可共享的URL時(shí),需要路由器。
在上面的圖中,路由器向視圖發(fā)送HTTP請(qǐng)求。 當(dāng)應(yīng)用程序需要路由功能時(shí),這是一個(gè)有用的功能。

View

Backbone.js視圖負(fù)責(zé)從我們的應(yīng)用程序顯示什么和什么,他們不包含應(yīng)用程序的HTML標(biāo)記。 它指定了向用戶呈現(xiàn)模型數(shù)據(jù)背后的想法。 視圖用于反映“您的數(shù)據(jù)模型的外觀”。 視圖類不知道關(guān)于HTML和CSS的任何內(nèi)容,并且當(dāng)模型更改而不重新加載整個(gè)頁(yè)面時(shí),每個(gè)視圖都可以單獨(dú)更新。 它表示DOM中UI的邏輯塊。
如上述架構(gòu)所示,視圖表示負(fù)責(zé)顯示通過(guò)使用路由器完成的用戶請(qǐng)求的響應(yīng)的用戶界面。

Events

事件是應(yīng)用程序的主要部分。 它將用戶的自定義事件綁定到應(yīng)用程序。 它們可以混合到任何對(duì)象中,并且能夠綁定和觸發(fā)自定義事件。 您可以使用所需的名稱綁定自定義事件。 通常,事件與其程序流同步處理。 在上述架構(gòu)中,您可以看到事件何時(shí)發(fā)生,它通過(guò)使用視圖來(lái)表示模型的數(shù)據(jù)。

Model

它是JavaScript應(yīng)用程序檢索和填充數(shù)據(jù)的核心。 模型包含應(yīng)用程序的數(shù)據(jù)和數(shù)據(jù)的邏輯,并且表示框架中的基本數(shù)據(jù)對(duì)象。 模型表示具有一些業(yè)務(wù)邏輯和業(yè)務(wù)驗(yàn)證的業(yè)務(wù)實(shí)體。 它主要用于數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)邏輯。 它可以從數(shù)據(jù)存儲(chǔ)中檢索和保存。 模型從使用路由器的視圖傳遞的事件獲取HTTP請(qǐng)求,并同步數(shù)據(jù)庫(kù)中的數(shù)據(jù)并將響應(yīng)發(fā)送回客戶端。

Collection

集合是一組模型,當(dāng)模型在集合中被修改時(shí),綁定事件。 集合包含可以在循環(huán)中處理的模型列表,并支持排序和過(guò)濾。 在創(chuàng)建集合時(shí),我們可以定義集合將與屬性實(shí)例一起使用的模型類型。 在模型上觸發(fā)的任何事件,它也將觸發(fā)模型中的集合。
它還從視圖接收請(qǐng)求,綁定事件并將數(shù)據(jù)與請(qǐng)求的數(shù)據(jù)同步,并將響應(yīng)發(fā)送回HTTP客戶端。

Data Source

它是從服務(wù)器設(shè)置到數(shù)據(jù)庫(kù)的連接,并包含從客戶端請(qǐng)求的信息。 Backbone.js架構(gòu)的流程可以描述如下所示的步驟:

  • 用戶使用路由器請(qǐng)求數(shù)據(jù),它使用URL將應(yīng)用程序路由到事件。

  • 視圖向用戶表示模型的數(shù)據(jù)。

  • 模型和集合通過(guò)綁定自定義事件來(lái)檢索和填充數(shù)據(jù)庫(kù)中的數(shù)據(jù)。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)