Java 設計模式面試題
一、你對 MVC 的理解, MVC 有什麼優缺點?結合 Struts ,說明在一個 Web 應用如何去使
用?
答:
MVC 設計模式(應用觀察者模式的框架模式)
M: Model(Business process layer) ,模型,操作資料的業務處理層 , 並獨立於表現層 (Independe nt
of presentation) 。
V: View(Presentation layer) ,檢視,通過客戶端資料型別顯示資料 , 並回顯模型層的執行結果 。
C: Controller(Control layer) ,控制器,也就是檢視層和模型層橋樑,控制資料的流向,接受
檢視層發出的事件,並重繪檢視
MVC 框架的一種實現模型
模型二 (Servlet-centric) :
JSP+Servlet+JavaBean ,以控制為核心, JSP 只負責顯示和收集資料, Sevlet ,連線檢視和模
型,將檢視層資料,傳送給模型層, JavaBean ,分為業務類和資料實體,業務類處理業務 數
據,資料實體,承載資料,基本上大多數的專案都是使用這種 MVC 的實現模式。
StrutsMVC 框架 (Web application frameworks)
Struts 是使用 MVC 的實現模式二來實現的,也就是以控制器為核心。
Struts 提供了一些元件使用 MVC 開發應用程式:
Model : Struts 沒有提供 model 類。這個商業邏輯必須由 Web 應用程式的開發者以 JavaBea n
或 EJB 的形式提供
View : Struts 提供了 action form 建立 form bean, 用於在 controlle r 和 view 間傳輸資料。此 外 ,
Struts 提供了自定義 JSP 標籤庫,輔助開發者用 JSP 建立互動式的以表單為基礎的應用程 序 ,
應用程式資原始檔保留了一些文字常量和錯誤訊息,可轉變為其它語言,可用於 JSP 中。
Controller : Struts 提供了一個核心的控制器 ActionServlet ,通過這個核心的控制器來呼叫其
他使用者註冊了的自定義的控制器 Action ,自定義 Action 需要符合 Struts 的自定義 Action 規
範,還需要在 struts-config.xml 的特定配置檔案中進行配置,接收 JSP 輸入欄位形成 Action
form ,然後呼叫一個 Action 控制器。 Action 控制器中提供了 model 的邏輯介面。