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)包含以下模塊:
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時,需要路由器。
Backbone.js視圖負責從我們的應(yīng)用程序顯示什么和什么,他們不包含應(yīng)用程序的HTML標記。 它指定了向用戶呈現(xiàn)模型數(shù)據(jù)背后的想法。 視圖用于反映“您的數(shù)據(jù)模型的外觀”。 視圖類不知道關(guān)于HTML和CSS的任何內(nèi)容,并且當模型更改而不重新加載整個頁面時,每個視圖都可以單獨更新。 它表示DOM中UI的邏輯塊。
事件是應(yīng)用程序的主要部分。 它將用戶的自定義事件綁定到應(yīng)用程序。 它們可以混合到任何對象中,并且能夠綁定和觸發(fā)自定義事件。 您可以使用所需的名稱綁定自定義事件。 通常,事件與其程序流同步處理。 在上述架構(gòu)中,您可以看到事件何時發(fā)生,它通過使用視圖來表示模型的數(shù)據(jù)。
它是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ā)送回客戶端。
它是從服務(wù)器設(shè)置到數(shù)據(jù)庫的連接,并包含從客戶端請求的信息。 Backbone.js架構(gòu)的流程可以描述如下所示的步驟:
用戶使用路由器請求數(shù)據(jù),它使用URL將應(yīng)用程序路由到事件。
視圖向用戶表示模型的數(shù)據(jù)。
模型和集合通過綁定自定義事件來檢索和填充數(shù)據(jù)庫中的數(shù)據(jù)。
更多建議: