由於網路以及網路服務的使用率越來越大,網站在 Web 2.0 時代不再只支持靜態內容。網站的內容已成為動態讓使用者可以操作實時的工作,例如檢查和發送郵件。我們的網絡工程因為不斷添加新功能讓它的規模變的龐大和複雜。
Web Application Frameworks 提供軟體結構的模型,幫助我們分類和管理網路應用程式不同的組件。他們還提供一些有用的 libraries,例如:訪問數據庫,呈現模板和 session 管理。
許多 Web Application Frameworks 使用 Model-View-Controller(MVC)的結構來定義網路應用程式邏輯上的組件。以下是 model,view 和 controller 的解釋:
Model
應用程式的 model 是用來處理系統的數據。換句話說,它包括數據和用來處理數據的函數。Controllers 和 views 會透過 model 獲取和更改數據。
View
View 是呈現給使用者看到的應用程式組件,換句話說,使用者界面。使用者要使用這個界面與應用程式互動。
Controller
Controller 是用來處理使用者的 request 並返回 response 給使用者。它會透過 model 獲得所需要的數據,把數據準備成一個合適的格式,插入到 view 裡和呈現 view 給使用者。
一個典型的 request 到服務器的情況如下:使用者透過界面發送一個 request 到服務器。主 controller 會處理這個 request 將它委託給適當的 controller 和把控制傳給這個 controller。被委託的 controller 會跟 model 互動來獲取或更改數據,呈現 view,並將控制還給主 controller。主 controller 會返回呈現的 view。使用者與界面互動並發送新的請求時,這循環就會重複。
References:
[1] Web application framework. (2011, May 28). In Wikipedia, The Free Encyclopedia. Retrieved 15:23, May 30, 2011, from http://en.wikipedia.org/w/index.php?title=Web_application_framework&oldid=431373642
[2] Model–view–controller. (2011, May 26). In Wikipedia, The Free Encyclopedia. Retrieved 17:12, May 30, 2011, from http://en.wikipedia.org/w/index.php?title=Model%E2%80%93view%E2%80%93controller&oldid=430946706