Web 架構 - MVC
Published by Will under Web架構 on 晚上7:04Web 架構 - MVC
我們可將整個網站應用程式的架構分為三個部份- 顯示層( Presentation Layer )
主要當作使用者的操作介面,讓使用者輸入資料和顯示資料處理後的結果。( MVC 的 View 部份) - 運算邏輯層 ( Business Logic Layer )
整個網站的核心部份,包含: 資料處理、連結資料庫和產生資料。( MVC 的 Model 部份) - 控制層( Control Layer)
控制整個網站處理的流程。介於顯示層和運算邏輯層之中。( MVC 的 Controller )
補充 : MVC 最主要的精神之一就是 Model 和 View 的分離,二者的分離可讓網頁設計師和程式開發人員獨立工作,互不影響,增加維護的效率
Model 1 與 Model 2 介紹
Model 1 :
依處理方式可分還可分為兩種1. 完全使用 JSP 開發系統
- 優點 :
- 開發時程縮短 : 只需專注開發 JSP
- 小幅度修改非常容易 : 直接修改 JSP
- 缺點 :
- 程式可讀性降低 : 因為程式與網頁標籤混合在一起,增加維護的困難度
- 程式重複利用性降低 : 當商業邏輯修改時,必須修改所有相關的 JSP
2. 使用 JSP + JavaBean 開發系統
- 優點
- 程式可讀性增高 : 將複雜的程式碼寫在 JavaBean 中,減少和網頁標籤混合的情況,有利於維護
- 可重複利用性高 : 能重複利用 JavaBean 元件
- 缺點 :
- 缺乏流程控制 : 這是 Model 1 最大的缺點,缺少 MVC 中的 Controller 去控制相關的流程,每一個
JSP 都要驗證需求的參數正確度、確認使用者的身份權限、例外發生的處理,,甚至還包含顯示端的網頁編碼原則及語系設定
- 缺乏流程控制 : 這是 Model 1 最大的缺點,缺少 MVC 中的 Controller 去控制相關的流程,每一個
Model 2 :
俗稱的 Model 2 就是採用 MVC 架構的開發模式。MVC是 Model-View-Controller 的縮寫。- Model : 應用程式的商業邏輯 (透過 JavaBean、EJB 等元件實作)
- View : 系統的顯示介面 ( 使用 JSP 來輸出 HTML)
- Controller : 提供應用程式的處理程序控制 ( 通常是 Servlet )
- 優點 :
- 開發流程更為明確 :
完全切開顯示端與商業邏輯端的開發,讓美工設計人員與程式開發人員可以專注於本身的工作,有利於大型系統的開發 - 核心的程序管控 : 由 Controller 控制整個流程,可以減少 JSP
需要撰寫許多條件判斷邏輯及流程管控等等程式碼 - 維護容易 : 不論是後端商業邏輯物件或前端的網頁呈現,都透過控制中心來掌控,如果有商業邏輯的變更,可以輕易地
修改
Model 端的程式,而不用去修改相關的 JSP 檔案
- 開發流程更為明確 :
- 缺點 :
- 學習時間較長 : 各家公司都有本身的 MVC 架構,需要花更多的時間去熟悉了解他們的流程與觀念
- 開發時間較長 : 因為需要設計 MCV 各物件彼此的資料交換格式與方法,會需要更多的時間在於系統設計上
補充 : Model 1 和 Model 2 的範例程式 ( JSP 2.0 技術冊 p.19-8)
參考資料 : JSP 2.0 技術手冊
0 意見:
張貼留言