我正在寻找有关桌面上MVC的书籍推荐.如果他们使用Java,那就是奖金.
一些背景:我正在用Java编写桌面应用程序.它是一个音频应用程序,具有许多视图和一个称为库的中央模型,其中包含播放列表,效果列表和用于组织它们的文件夹结构.在这个应用程序中,我想为各种用户操作提供菜单,上下文菜单和拖放支持.我一直在努力使用MVC来实现这一目标.
我从主类中的所有逻辑/控制器开始,但已经开始将它们分离到自己的类中.现在我需要开始使用侦听器和观察器来处理视图和控制器之间的消息.这导致我创建了许多接口,并在几个地方通过我的监听器循环以触发各种消息.但是循环代码不断重复(而不是DRY),所以我假设现在我应该创建不同类型的Event类,在我的视图中创建这些事件,并在视图中使用单个方法将其发送给各种侦听器.
更新: Arguabley它应该没什么关系,但我使用的是SWT,而不是Swing.
我遇到了同样的问题:编写一个(非平凡的)swing应用程序确实需要很多纪律,因为所有的侦听器和事件以及异步处理对于大量不可维护的代码来说非常快.
我发现经典的MVC是不够的,你必须研究更具体的模式,如Presentation Model等.当我应用于桌面应用程序时,我发现的唯一涵盖此模式的书是Scott Delap的Desktop Java Live.虽然大多数摇摆书都涉及解决特定问题的技巧(如何制作无格式jtable,如何实现圆形按钮,......),Delap的书将帮助您构建中型摇摆应用程序,最佳实践等.