2012-04-03 73 views
-1

有人能給我一個基於MVC設計模式的java/jdk庫中的應用程序/框架/工具的例子嗎?最近在接受採訪時我被問到了這個問題。我回答說,大部分的java swing組件都是基於MVC設計的。但面試官說他正在尋找比這更復雜的事情。 謝謝。java/jdk中的MVC示例

+0

你是什麼「的Java/JDK的」的意思? JavaSE(基於桌面)或JavaEE(服務器/基於Web)?那些環境是不一樣的 – 2012-04-03 19:44:15

+3

如果面試官認爲Swing不復雜,你可能不想在他認爲複雜的任何事情上工作...... – 2012-04-03 19:45:16

+0

我認爲他指的是JavaSE。我告訴他有關擺動的各個組件,所以他要求更復雜的東西。所以我不認爲他的暗示擺動並不複雜,我不認爲擺動框架是他尋找的答案。 – 2012-04-03 23:10:26

回答

1

如果您使用對象作爲模型,jsps作爲視圖,servlet作爲控制器,則可以將Java基本Java EE堆棧視爲MVC。

Spring MVC將是另一個基於MVC的流行庫的例子。

+0

是的,我知道這一點。但是我認爲他在JavaSE/JDK中要求一些東西。謝謝。 – 2012-04-03 23:14:16

+0

@martin用另一個例子更新了我的答案 – hvgotcodes 2012-04-03 23:38:28

0

Apache OFBiz,但我不推薦它用於商務。

0

Struts可能是目前使用最多的最受歡迎的純MVC框架,儘管它感覺它的年齡和更多AOP的SPRING也在其中。

0

正如您所指出的那樣,在談到JavaSE時,MVC框架就是Swing(或者至少與其接近)。我真的不明白他的意思是「更復雜的東西」,但還有其他選項,如EclipseRCP。 Eclipse是衆所周知的IDE,但基本上,它是一個基於框架的桌面應用程序,每個用戶都可以用它來構建他/她的自定義桌面應用程序,因爲它是開源的。它比Swing「更復雜」(即使Swing足夠複雜),因爲它們是開箱即用的多層結構。從OSGI實現(這是最基本的軟件)到頂層,您可以在其中找到結構視圖,編輯器,視角,命令,附加組件等。

一般而言,我們可以說在EclipseRCP中間層中,V是Eclipse SWT庫(組件),C是Eclipse JFace庫,M是您自己的應用程序的模型。在頂層,我在前一段(觀點,觀點,編輯等)中提到的所有「複雜」結構也都是C的一部分,但在更高層次上。

這是我能想到的關於JavaSE的MVC框架(不包括Swing)的最接近的東西。它的最後一個版本(Eclipse E4)對複雜性進行了很好的清理,所以我不知道這是否足夠複雜來回答這個問題。如果你想知道更多的信息,請閱讀tutorial about Eclipse E4

順便說一句,在Netbeans平臺上,你也可以實現一個desktop-based application following an MVC approach(或至少類似的東西),它基於Swing。