用于分离代码和GUI的设计

时间:2012-10-10 09:17:01

标签: java javafx playlist

我需要创建一个播放列表,我想通过使用两个类来分离代码/逻辑和GUI:

  • Playlist(代码/逻辑)
  • PlaylistGui(GUI)

可以单独使用播放列表类,例如在某种命令行环境中。现在的问题是,在使用GUI时,如何将两个类一起插入?我的想法到现在为止:

  • Playlist类公开可观察列表,在setItemSource(Playlist source)
  • 上创建方法PlaylistGui
  • 不确定在Java中是否可行,只需从.NET中了解这一点:让Playlist类触发事件并让PlaylistGui捕获它们,应该导致解耦代码? : - )

开放寻找新想法:-)注意我使用的是Java 7和JavaFX,虽然我猜JavaFX并不限制可能性,只是扩展它们。

3 个答案:

答案 0 :(得分:0)

Java中的事件: http://castever.wordpress.com/2008/07/31/how-to-create-your-own-events-in-java/

其他替代方案是: Java Delegates? 或者两者都是通过套接字进行通信的独立进程

答案 1 :(得分:0)

查看FXML,控制器和SceneBuilder工具。

答案 2 :(得分:0)

我认为你的基本概念是合理的,责任归属。

我会创建模型的界面,只展示您认为任何基本控制器/查看器所需的那些方法。这意味着您可以更改实现,而不会影响任何依赖它的组件。

监听器本质上只是一种回调机制,感兴趣的各方通过一个公共接口注册自己,以便在他们感兴趣的事情发生时得到通知。

请查看Writing Event Listeners了解详情。

我基本上会从一个公共库开始,它定义了各方需要知道的基本接口(例如PlayList和监听器)。

这将允许根据您的需要设计播放列表的'n'实现