Backbone js 的 MVC 中 C 所指的 collection 和傳統 MVC 框架中的 controller 的關係是什麼?

時間 2021-06-01 12:33:10

1樓:

Backbone.js 的 MVC

事實上應該是BB是傾向於MVP

Collection其實是model的複數級別罷了。

感覺AngularJS更喜歡些

2樓:tianlu

剛提出這個問題,就發現 Backbone 在文件裡稍微解釋了這個問題,那便翻譯過來吧。

Backbone 與傳統的 MVC 模式之間聯絡是什麼?

MVC 模式的不同實現在定義 controller 的職能上會有不同。在 Backbone 裡,View 類在某種意義上可以被認為是一種 controller 的實現,處理 UI 產生的事件,而 HTML 模版行使的 view 的功能。這個模組在 Backbone 之所以被稱為 view 是因為它代表了 UI 邏輯的一部分,並負責每個 DOM 元素內的內容。

如果把 Backbone 的架構與乙個伺服器端的 MVC 框架(比如 Rails)來比較,對應關係大概是下面這樣的:

Backbone.Model - 就像 Rails 中的 model,除了類(class)的方法,在邏輯層外套了一層資料;

Backbone.Collection - 客戶端的 model,帶有分類、過濾、聚合的邏輯;

Backbone.Router - 就像 Rails 的 routes.rb,將 URL 匹配到制定的功能塊上;

Backbone.View - 邏輯化的、可重用的 UI 元件。通常,但不總是和 model 聯絡在一起;

客戶端模版(Client - side Templates)- Rails 中的 .html.erb 模版,模組化地渲染 HTML。

FAQ 如何理解 MVC 中的 Model?

xuwensheng 我的理解是,就是為了持續性地儲存資料,並且把這個過程同其它過程,諸如輸入 輸出和業務邏輯等分離開來。儲存前可以進行驗證和格式化等處理,取出儲存的資料的過程中和之後可以進行類似的針對性的處理。這個儲存的格式可以是常見的資料庫檔案,也可以是CSV甚至是INI等。 bobo MVC存...

MVC中的M和C區別到底是什麼?

宗長空 model相當於現實生活中你已經定義好的工具,control決定採用那些工具,使用這些工具完成一些具體的邏輯來改變一些資料,控制器還負責資料與檢視之間的適配 小風 如果從物件導向來說M就是資料的抽象,因為在乙個專案中有關資料的操作是需要多次的例項化的,經常是在model定義,在C層宣告,M層...

Backbone js 的最佳應用場景有哪些?

張鑫 Backbone的體量頂多算是個庫,還稱不上框架。後期體量增長到比較大的專案,都會產生自己的Backbone。Backbone這個庫更適合新手學習,想圖開發方便的話,可以使用MVVM框架。 前端RIA REST後端 也許類似Backbone的前端 NodeJs的REST後端是將來的發展方向。類...