关于使用MVC开发桌面应用程序的推荐书籍

我正在寻找关于桌面上有关MVC的书籍的建议。 如果他们使用Java,那就是奖金。

一些背景:我正在用Java编写桌面应用程序。 它是一个音频应用程序,具有许多视图和一个称为库的中央模型,其中包含播放列表,效果列表和用于组织它们的文件夹结构。 在这个应用程序中,我想为各种用户操作提供菜单,上下文菜单和拖放支持。 我一直在努力使用MVC来实现这一目标。

我从主类中的所有逻辑/控制器开始,但已经开始将它们分离到自己的类中。 现在我需要开始使用侦听器和观察器来处理视图和控制器之间的消息。 这导致我创建了许多接口,并在几个地方通过我的监听器循环以触发各种消息。 但是循环代码不断重复(而不是DRY),所以我假设现在我应该创建不同类型的Event类,在我的视图中创建这些事件,并在视图中使用单个方法将其发送给各种侦听器。

更新: Arguabley它应该没什么关系,但我使用的是SWT,而不是Swing。

我遇到了同样的问题:编写一个(非平凡的)swing应用程序确实需要很多纪律,因为所有的侦听器和事件以及异步处理对于大量不可维护的代码来说非常快。

我发现经典MVC是不够的,你必须研究更具体的模式,如Presentation Model等。 当我应用于桌面应用程序时,我发现的唯一涵盖此模式的书是Scott Delap的Desktop Java Live 。 虽然大多数摇摆书都涉及解决特定问题的技巧(如何制作无网格jtable,如何实现圆形按钮,……),Delap的书将帮助您构建中型摇摆应用程序,最佳实践等。

几乎任何java,eclipse,netbeans摇摆书都应该成功。

1)免费—用Java思考( http://mindview.net/Books/TIJ/DownloadSites
2)CORE 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的富客户端平台的应用程序/ DP / 0321334612

希望这可以帮助。

BR,
〜一

在C#而不是Java中,但是Jeremy Miller有很多关于桌面应用程序和MVP / MVC(以及其他一些相关内容) 的post 。

只要投入2美分,我就推荐Head First Design Patterns这本书。 它对MVC模式有很好的解释(在Java中)。 它建立在本书中讨论的其他设计模式的基础上,如MVC中使用的Observer,Strategy和Composite。

我读过的最好的MVC教程。 强烈推荐。

不要忘记Swing教程; 例如Swing Events教程 。

请记住SwingWorker,或在单独的工作线程中处理事件。 我不是任何关于Swing的专家,但我知道Java桌面应用程序的许多感知缓慢是由于在事件线程中完成的工作。 如果这样的工作需要一些时间,整个GUI都没有响应。 之后很难修复,如果你牢记这一点,那就不是很难做到的。

至于书籍,我发现Cay Horstmann和Gary Cornell的Core Java系列非常好读。 然而,它是关于Java(包括Swing)而不是关于MVC。

我需要在上面的条目中添加JAVA中的免费BOOK – THINKING谈论OOP,MVC以及Swing。 但不确定它是否讨论了MVC的各种实现。