我需要创建一个播放列表,我想通过使用两个类来分离代码/逻辑和GUI:
Playlist
(代码/逻辑)PlaylistGui
(GUI)可以单独使用播放列表类,例如在某种命令行环境中。现在的问题是,在使用GUI时,如何将两个类一起插入?我的想法到现在为止:
Playlist
类公开可观察列表,在setItemSource(Playlist source)
类PlaylistGui
Playlist
类触发事件并让PlaylistGui
捕获它们,应该导致解耦代码? : - )开放寻找新想法:-)注意我使用的是Java 7和JavaFX,虽然我猜JavaFX并不限制可能性,只是扩展它们。
答案 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'实现