当使用UI抽象时,您正在显示的数据受到保护,不会在UI层中实现更改。是/应该/可以扩展到更高级别的东西,例如,显示为树还是网格?我无法弄清楚如何将抽象与UI如何显示通过所述抽象获得的数据的更高级细节隔离开来。
答案 0 :(得分:0)
您想从模型 - 视图 - 控制器架构开始。这允许您尽可能地将用户界面与数据更改隔离开来。 Model层是您的数据对象。 View层是您实际的Swing组件。 Controller层是您的侦听器。模型层独立于其他两个编写,不知道类。编写View层时不了解Controller层。
如果您需要更多抽象,可以为Model层创建接口,以便几个不同的数据模型都可以使用相同的接口。这样,您给View层提供的数据无关紧要,它只是通过使用界面显示它。
同时意识到你并不总是可以做你所要求的。有时需要专门为所显示的数据编写用户界面。树并不总是树,网格并不总是网格。它可以很好地自定义View层以匹配显示的数据。这样,您可以专门针对被操纵的数据定制功能,并为您的用户创建更好的界面。
但是,当然,它应该在有意义的地方完成。这是经验和判断成为一个重要因素的地方。