2008-10-03 87 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教程。强烈推荐。

相关问题