首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Struts 開發指南核心:MVC 架構原理與演進

     編輯:Java 程式設計入門

模型-視圖-控制器 (MVC) 是 80 年代 Smalltalk-80 出現的軟體設計模式,現已廣泛使用。

MVC 三大核心角色

  1. 模型:應用程式主體,表示業務資料或業務邏輯。
  2. 視圖:用戶介面相關部分,用戶看到並互動的介面。
  3. 控制器:根據用戶輸入,控制介面資料顯示與更新模型物件狀態。

MVC 不僅實現功能模組與顯示模組分離,還提高系統可維護性、可擴展性、可移植性與組件可復用性。

早期程式若不重視功能與顯示解耦,常導致複雜難維護。VB、Delphi 等 RAD 工具常有此問題。甚至 C#、Java 有時也會出現業務邏輯寫在顯示模組現象。

雖 MVC 早提出,但在 Web 專案引入卻步履維艱。主因:(1) 早期 Web 開發中程式語言與 HTML 分離難實現。CGI 以字串輸出生成 HTML;後來腳本語言出現又倒過來將程式嵌入 HTML。兩者同樣無法分離程式與 HTML。(2) 腳本語言功能較弱,缺乏支援 MVC 必要技術基礎。直到 J2EE 的 JSP Model 2 問世才改觀:用 JSP 實現視圖、Servlet 實現控制器、JavaBean 實現模型。

JSP Model 1 與 Model 2

Sun 在 JSP 早期制定兩種規範 Model 1/2。Model 2 某程度實現 MVC 但應用不盡如人意。

JSP Model 1

JSP Model 2:易產生多個 Controller,頁面導航處理較複雜。

有人覺得 Model 2 仍不夠好,Craig R. McClanahan 2000 年 5 月 提交 Web framework 給 Java Community,後來成為 Struts。2001 年 7 月 Struts 1.0 正式發布,成為 Apache Jakarta 子專案。

Struts 本質上就是在 Model 2 基礎上實現的一個 MVC 架構:單一中心控制器、採用 XML 定制轉向 URL、用 Action 處理邏輯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved