2008-10-03 85 views
8

我正在尋找有關桌面上關於MVC的書籍的建議。如果他們使用Java,那是一種獎勵。關於使用MVC進行桌面應用程序開發的推薦書籍

一些背景資料: 我用Java編寫的桌面應用程序。這是一個音頻應用程序,它有許多視圖和一個稱爲庫的中央模型,其中包含播放列表,效果列表和文件夾結構來組織它們。在這個應用程序中,我想要菜單,上下文菜單以及拖放對各種用戶操作的支持。我一直在努力如何使用MVC來實現這一點。

我開始跟所有的邏輯/主控制器類,但已經開始出來放在各自的班級。現在我需要開始使用監聽器和觀察器來處理視圖和控制器之間的消息。這導致我創建了許多接口,並在幾個地方通過我的聽衆循環播放各種消息。但是,該循環代碼不斷重複(不DRY),所以我假設現在我應該創建不同類型的Event類,在我的視圖中創建這些事件,並在視圖中使用單個方法將其發送給各種偵聽器。

更新:它應該沒什麼問題,但我使用的是SWT,而不是Swing。

回答

8

我遇到了同樣的問題:編寫一個(非平凡的)swing應用程序確實需要很多紀律,因爲所有的監聽器和事件以及異步處理對於一大堆不可維護的代碼來說真的很快。

我發現經典的MVC是不夠的,你必須研究更多特定的模式,如Presentation Model等。我發現,在應用於桌面應用程序時,我發現覆蓋這種模式的唯一書籍是Scott Delap編寫的Desktop Java Live。雖然大多數搖擺書籍涉及解決具體問題的技巧(如何製作無網格jtable,如何實現圓形按鈕......),但Delap的書將幫助您設計一箇中等大小的搖擺應用程序,最佳實踐等

2

幾乎任何的Java,Eclipse中,NetBeans的擺動書應招。

1)FREE ---在Java中思維(http://mindview.net/Books/TIJ/DownloadSites
2)核心Java,第1卷和2
3)搖擺黑客:http://www.amazon.com/Swing-Hacks-Tips-Tools-Killer/dp/0596009070
4)NETBEANS RCP:http://www.amazon.com/Rich-Client-Programming-Plugging-NetBeans/dp/B00132S6UU/ref=dp_kinw_strp_1 5)Eclipse富客戶機編程 - http://www.amazon.com/Eclipse-Rich-Client-Platform-Applications/dp/0321334612

希望這有助於。

BR,
〜一個

0

不要忘了Swing教程;例如Swing Events tutorial

並請銘記的SwingWorker,或處理在一個單獨的工作線程的事件。我並不是Swing的專家,但我確實知道,Java桌面應用程序感覺到的很多緩慢是由於在事件線程中完成的工作。如果這樣的工作需要一些時間,則整個GUI不響應。事後很難解決,如果你牢記這一點,並不是所有這些都很難做到。

至於書,我通過礁HORSTMANN和加里·康奈爾非常好的閱讀中發現的Java核心系列。不過關於Java(包括Swing)而不是關於MVC。

2

在C#中,而不是Java,但Jeremy Miller在桌面應用程序和MVP/MVC(以及其他一些相關的東西)上有bunch of posts

0

我需要添加到我的那 的免費書籍上面的條目 - 思維約OOP,MVC JAVA會談,也左右搖擺。但不知道它是否討論了MVC的各種實現。

1

剛剛扔在我的2美分,我推薦書Head First Design Patterns。它對MVC模式有很好的解釋(用Java)。它基於本書中討論的其他設計模式,如MVC中使用的Observer,Strategy和Composite。

我讀過的最好的MVC教程。強烈推薦。

相關問題