【发布时间】:2010-11-02 23:28:19
【问题描述】:
我有一个关于 GUI 设计的问题,特别是 Java Swing 以及在表示和模型之间建立清晰的分离。
这有点难以描述,但基本上我们的系统中有很多参考数据(即对应于数据库中的查找表)。我们希望人们能够在一个屏幕上编辑它们。
因此,在理想情况下,我们希望在左上角有一个组合框,其中包含参考数据的“类型”列表(因此每个类型对应于数据库中的一个表)。
然后,在选择时,下面填充数据列表,还填充过滤器(或搜索框)。 When one of these items is selected, the panel to the right is activated which will allow the actual data to be edited.现在,问题来了:我们需要编辑的每种类型的数据都是不同的,所以它有不同的字段等。我们可以采用通用的解决方案,但我不是他们的粉丝 - 有很多不同的每个等的验证规则,甚至针对不同的客户端,管理起来将是一场噩梦。
我们正在使用Presentation Model 模式在GUI 代码和模型之间实现某种程度的分离,但我想不出一种干净的方式来做到这一点,它不会以某种方式模糊职责范围。
你用什么方法解决了这样的问题?
[注意:抱歉问题太长了,希望可以理解,如有必要我可以重新措辞]
【问题讨论】:
标签: java model-view-controller user-interface swing model