Java 用于为视图建模的类

Java 用于为视图建模的类,java,gwt,view,Java,Gwt,View,我正在用GWT写一个应用程序 我需要一个类来表示在特定视图中显示的状态 该视图用于查看联系人,因此有一个联系人列表,可以显示几种类型: 所有联系人 一组联系人(具有组类) 搜索结果(带搜索查询) 类型是枚举(全部、组、搜索) 如何处理组和搜索结果?如果类型为group,则需要在模型中包含group;如果类型为SEARCH,则需要在查询中包含query 最简单的解决方案是创建如下字段: Type type Group group String query 但这似乎不是很优雅,基本上无论是组还

我正在用GWT写一个应用程序

我需要一个类来表示在特定视图中显示的状态

该视图用于查看联系人,因此有一个联系人列表,可以显示几种类型:

  • 所有联系人
  • 一组联系人(具有组类)
  • 搜索结果(带搜索查询)
类型是枚举(全部、组、搜索)

如何处理组和搜索结果?如果类型为group,则需要在模型中包含group;如果类型为SEARCH,则需要在查询中包含query

最简单的解决方案是创建如下字段:

Type type
Group group
String query
但这似乎不是很优雅,基本上无论是组还是查询都将始终为空(或者对于所有联系人都为空)


是否有更干净的解决方案?

如果联系人是一个类,那么为什么不返回联系人列表和类型

  • 如果全部,则返回所有联系人的列表和“全部”类型
  • 如果为组,则返回联系人组作为联系人列表,类型设置为“组”
  • if query然后返回查询结果(我假设是一个联系人列表),并将type设置为“query”

还是我过于简化了您的问题?

我想说的是,您试图将几个不相关的组件组合在一起。这里有三种不同的观点:

  • 您有一个显示搜索查询的搜索视图

  • 您有一个显示联系人组信息的组视图

  • 您有一个显示联系人列表的联系人列表视图


  • 如果您正在显示一个用于不同目的的联系人列表,那么您应该将联系人列表提取到它自己的可重用组件中,而不是尝试将所有不同目的合并到一个混乱中。

    什么视图?桌面、网络、安卓?我也需要群组,以便在另一个视图中突出显示当前选择的群组,我需要查询以更新历史记录并填充搜索文本框,因此我希望所有这些信息都在一个整洁的小类中。在这种情况下,我想你应该遵循“SirBraneDamuj”的建议,如果这符合您的设计,则只有一个联系人列表视图,但每次都可以显示不同的联系人。这些组件是相关的:您选择要显示的组并获得特定的联系人列表,您键入搜索查询并获得另一个联系人列表,然后您选择所有联系人并获得所有联系人的列表。我只是不知道如何在一个整洁的类中模拟这种关系。