2012-05-07 87 views
1

是在Java中常用的模型 - 視圖 - 控制器 - 模式?
我聽說,通常只使用它的兩個組件,以便視圖和控制器只有一個組件,與模型進行通信。模型 - 視圖 - 控制器和Java

+0

另請參見[* Swing架構概述*](http://java.sun.com/products/jfc/tsc/articles/architecture/)。 – trashgod

回答

4

我認爲這個問題可能太寬回答,但爲了把事情說清楚你:

  • MVC模式是在許多流行的Java Web框架使用,還MVC模式2是一種流行。
  • 如果您在考慮移動應用程序,那麼Android會使用MVC模式,併爲視圖和控制器定義明確的角色。
  • 如果您正在考慮桌面應用程序,那麼也有一些swing框架可以使用MVC模式。

所以簡而言之,你的問題的答案是:是的,MVC模式在java中被廣泛使用,通常視圖和控制器有自己的角色,也許在擺動這個概念有點混雜,但在其他類型的應用程序不是很多。

乾杯!

+1

+1,因爲你的答案比我的好。 –

0

MVC是最受歡迎的設計模式之一,不僅適用於Java,還適用於所有其他面向對象的編程語言。

控制器包含web層表示邏輯諸如處理請求和調度的響應返回到圖

的視圖負責將請求傳遞值到控制器和渲染返回的響應回

該模型與視圖和控制器密切配合。

一個簡單的例子與Spring MVC ...

  1. 分派器的servlet充當前端控制器通過它引導所有的請求基於所述網址相關控制器
  2. 控制器獲取請求從視圖值(JSP)&處理該請求值,填充模型相應
  3. 的填充模型

    經由ORM框架(休眠)傳遞到堅持 的數據的數據庫或 填充模型添加回會話或請求範圍可變

  4. ,其用於呈現的值回到視圖(JSP)使用JSTL或EL

這是一個非常簡單的場景,其中典型的Web應用程序將使用MVC

+1

http://www.thecoderush.com/mvc-tutorial – Sanath

+0

該教程是一個非常好的教程! –

2

是的,它在Java中很常見。

在JavaEE中,它可以像由javax.servlet.http.HttpServlet(servlet,controller)構造的JavaBean(model)一樣簡單,並作爲請求屬性轉發給JSP頁面(視圖),該頁面呈現它瀏覽器友好的格式,如HTML。也有令人眼花繚亂的框架 - 一些標準,其他開放源代碼以及一些專有 - 所有這些都尋求乾淨的MVC開發的聖盃,通常使用語法糖來降低複雜性或提高開發人員的生產力。一些大的例子是Apache StrutsJavaServerFaces (JSF)。維基百科有一個像樣的破敗Java MVC frameworks

在JavaSE中,使用MVC設計的GUI應用程序可以訪問豐富的技術,如偵聽器將模型更改從控制器傳遞到視圖以及從視圖組件到控制器的用戶交互。在Swing中,視圖可以像JTextField一樣簡單,也可以像JFrame一樣複雜,其中包含一組重要的組件/小部件。 Oracle有一個關於模式的概述文檔here.

最後,它可能只是我,但我還沒有看到組合視圖和控制器的示例,我沒有呻吟並希望進行重構。

0

MVC代表模型視圖和控制器。它是一種分隔業務邏輯,表示邏輯和數據的設計模式。控制器充當View和Model之間的接口。控制器攔截所有傳入的請求。模型表示應用程序(數據)的狀態。它也可以有業務邏輯。視圖表示呈現,即UI(用戶界面)。