淺介MVC與Backbone

1.MVC是什麼東西?css

MVC (Modal View Controler) 是軟件工程中的一種軟件架構模式,把軟件系統分爲三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。html

  • (控制器Controller)- 負責轉發請求,對請求進行處理。
  • (視圖View) - 界面設計人員進行圖形界面設計。
  • (模型Model) - 程序員編寫程序應有的功能(實現算法等等)、數據庫專家進行數據管理和數據庫設計(能夠實現具體的功能)。

使用MVC的目的是將M和V的實現代碼分離, 從而使同一個程序可使用不一樣的表現形式。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。jquery

2.MVC如何工做?git

MVC是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分紅三個核心部件:模型、視圖、控制器。它們各自處理本身的任務。程序員

  • 視圖(View)——視圖是用戶看到並與之交互的界面。對老式的Web應用程序來講,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演 着重要的角色,但一些新的技術已層出不窮,它們包括Macromedia Flash和象XHTML,XML/XSL,WML等一些標識語言和Web services.  
  • 模型(Model)——模型表示企業數據和業務規則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用象EJBs和ColdFusion Components這樣的構件對象來處理數據庫。被模型返回的數據是中立的,就是說模型與數據格式無關,這樣一個模型能爲多個視圖提供數據。因爲應用於 模型的代碼只需寫一次就能夠被多個視圖重用,因此減小了代碼的重複性。
  • 控制器(Controller)——控制器接受用戶的輸入並調用模型和視圖去完成用戶的需求。因此當單擊Web頁面中的超連接和發送HTML表單時,控制器自己不輸出任何東西和作任何處理。它只是接收請求並決定調用哪一個模型構件去處理請求,而後用肯定用哪一個視圖來顯示模型處理返回的數據。

如今咱們總結MVC的處理過程,首先控制器接收用戶的請求,並決定應該調用哪一個模型來進行處理,而後模型用業務邏輯來處理用戶的請求並返回數據,最後控制器用相應的視圖格式化模型返回的數據,並經過表示層呈現給用戶。github

看到這裏相信你們仍是不太理解MVC究竟是什麼,沒有關係,接下來咱們會介紹一個輕量級的MVC框架BackBone.js。web

3.什麼是BackBone?算法

backbone.js提供了一套web開發的框架,經過Models進行key-value綁定及custom事件處理,經過 Collections提供一套豐富的API用於枚舉功能,經過Views來進行事件處理及與現有的Application經過RESTful JSON接口進行交互.它是基於jquery和underscore的一個js框架。數據庫

Backbone主要由三個部分組成:設計模式

  • model:建立數據,進行數據驗證,銷燬或者保存到服務器上
  • collection:能夠增長元素,刪除元素,獲取長度,排序,比較等一系列工具方法,說白了就是一個保存 models的集合類
  • view:綁定html模板,綁定界面元素的事件,初始的渲染,模型值改變後的從新渲染和界面元素的銷燬等

 

Backbone 中文版API:http://www.csser.com/tools/backbone/backbone.js.html

看到這裏你們必定會說,除了瞭解了一堆理論,我仍是不會用MVC,不要緊,實踐出真知,再多的概念也不如去學習一個實例:

http://backbonejs.org/docs/todos.html

https://github.com/MichaelHu/rocket_apps/tree/master/hellorocket

                                        ——by 歐陽方昕

相關文章
相關標籤/搜索