BackboneJS 應(yīng)用程序

2018-01-04 17:20 更新

Backbone.js為Web應(yīng)用程序提供了一種結(jié)構(gòu),允許分離業(yè)務(wù)邏輯和用戶界面邏輯。 在本章中,我們將討論Backbone.js應(yīng)用程序的架構(gòu)風格,以實現(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請求

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

Router

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

View

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

Events

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

Model

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

Collection

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

Data Source

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

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

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

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


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號