Model
Model這個模組內代表了企業資料(enterprise data)的定義以及商業邏輯(business rule)的執行,然而商業邏輯會以資料庫內的企業資料投入項,並遵照程式人員預先定義的邏輯進行資料處理,在適當的情況下,將資料處理結果回饋給使用者。
一般而言,Model可視為真實世界內的工作流程。因此,在撰寫或規劃Model內容時,可以應用在現實生活中定義行為模式的原則。
View
View簡單而言,即是使用者所看到的程式畫面。它是呈現Model內容的一個畫面。可以是電腦中瀏覽器上畫面,亦可以是手機上畫面。最重要的是,要讓使用者清楚地擷取資訊以及熟練地操作。View會經由Model來存取企業資料並指定資料如何在頁面呈現。
此外,當Model內資料發生改變時,View必須擔起維持資料一致性的責任。如何維持資料一致性的作法,可以區分為二類。一種是Push Model,另一種則是Pull Model。Push Model作法是將View註冊(register)於當Model發生資料異動的事件中,一旦資料出現改變時,它會回饋至View上面,以呈現給使用者知悉;Pull Model作法是當前端有最新資料需求時,才由View這一端來呼叫Model,以獲得最新的資料庫資料。
Controller
Controller會將View傳遞過來的需求解譯為Model必須執行的作業。換句話說,Controller是View與Model間雙向溝通的媒介。
以順向而言,它在接收到來自於View的需求後,必須先判斷需求來源,例如:按鈕的點選或選單的變更,之後再根據需求來源特性選擇相對應的行為模式,並通知Model予以執行,例如:啟動員工薪資的計算函式或是查詢公司內姓名為鄭先生的員工基本資料。另一方面,在基於使用者互動或是Model執行某項作業後有回饋的訊息,Controller也必須依照傳回的資料選擇合適的View加以呈現。
資料來源:http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx
What is a Model View Controller (MVC) Framework?
MVC is a framework methodology that divides an application’s implementation into three component roles: models, views, and controllers.
* “Models” in a MVC based application are the components of the application that are responsible for maintaining state. Often this state [...]