Java 代码与GUI分离的设计
我需要创建一个播放列表,我想使用两个类来分离代码/逻辑和GUI:Java 代码与GUI分离的设计,java,javafx,playlist,Java,Javafx,Playlist,我需要创建一个播放列表,我想使用两个类来分离代码/逻辑和GUI: 播放列表(代码/逻辑) 播放GUI(GUI) 可以单独使用播放列表类,例如在某种命令行环境中。现在的问题是,在使用GUI时,如何将这两个类插入到一起?到目前为止,我的想法是: 从播放列表类中公开可观察列表,在播放GUI类中创建方法setItemSource(播放列表源) 不确定在Java中是否可能,只需从.NET了解这一点:让Playlist类火灾事件并让playligui捕获它们,应该会导致代码解耦?:-) 欢迎新想法:
(代码/逻辑)播放列表
- 播放GUI(GUI)
- 从
类中公开可观察列表,在播放列表
类中创建方法播放GUI
setItemSource(播放列表源)
- 不确定在Java中是否可能,只需从.NET了解这一点:让
类火灾事件并让Playlist
捕获它们,应该会导致代码解耦?:-)李>playligui
或者两者都是通过套接字进行通信的独立过程。请看一下FXML、控制器和SceneBuilder工具。我认为您的基本概念是正确的,即责任委托 我将创建一个模型的接口,只公开那些您认为任何基本控制器/查看器都需要的方法。这意味着您可以更改实现,而不影响依赖它的任何组件 侦听器本质上只是一种回调机制,在这种机制中,相关方(通过公共接口)注册自己,以便在发生他们感兴趣的事情时得到通知 有关更多信息,请参阅 我将从一个公共库开始,该库定义所有各方都需要知道的基本接口(例如
播放列表
和侦听器)
这将允许根据您的需要设计播放列表的“n”实现代码/逻辑部分应为API,这样,如果您用文本界面替换GUI,则源代码中不会有任何更改(可能配置除外)。