2013-08-19 38 views
0

我想更好地理解MVC。我找不到太多內容,我真的瞭解並可以重新設計以更好地理解內部工作。建議:在JavaScript中使用模型 - 視圖 - 控制器奮鬥

據我所知,該模型是數據(JavaScript與對象或東西),視圖是HTML和控制器是瀏覽器。

這是一個正確的理解?任何人都可以指出我MVC的一個非常簡單,不好用的例子嗎?

在此先感謝您提供任何有用的信息。

回答

1

MVC框架包括以下組件:

  • 模型。模型對象是實現應用程序數據域邏輯的應用程序的一部分。通常,模型對象 檢索並將模型狀態存儲在數據庫中。例如,產品對象可能會從數據庫檢索信息,對其進行操作,然後將更新的信息寫回到SQL 服務器數據庫中的產品表。在小型應用程序中,該模型通常是概念性分離 而不是一個物理的。例如,如果應用程序只讀取數據集 並將其發送到視圖,則應用程序沒有物理模型圖層和關聯的類。在這種情況下, 數據集將扮演模型對象的角色。

  • 瀏覽次數。視圖是顯示應用程序的用戶界面(UI) 的組件。通常,此UI是根據型號 數據創建的。一個示例是一個Products表的編輯視圖, 根據Product對象的當前狀態顯示文本框,下拉列表和複選框。

  • 控制器。控制器是處理用戶交互的組件,與模型一起工作,並最終選擇顯示UI的視圖到 。在MVC應用程序中,僅查看 顯示信息;控制器將處理並響應用戶輸入和交互 。例如,控制器處理 查詢字符串值,並將這些值傳遞給模型,該模型在 轉可能使用這些值查詢數據庫。

http://msdn.microsoft.com/en-us/library/dd381412(VS.98).aspx?ppud=4

1

我建議你學習骨幹JS例如這裏https://github.com/tastejs/todomvc/tree/gh-pages/architecture-examples/backbone

骨幹是最簡單的Javascript MVC庫(沒有框架),你可以找到。它清楚地定義了什麼Model(與REST API同步的數據),View(這是一種令人困惑的看法,在Backbone中與Router相同等同於MVC世界中的「Controller」)和Template(這是「View」中的MVC世界,你可以使用Mustache JS或下劃線JS或其他模板引擎)。

我希望這會有所幫助。

+0

它在你的UIViewController的iOS類似,控制器管理視圖,而不是依賴於一種模式。模型被用作可以調用和/或持久化的數據庫。控制器可以在接口或需要時訪問模型。 – aug2uag