基于组件的应用程序中项目选择的模式

时间:2011-01-27 01:15:22

标签: design-patterns

我们目前正在构建一个应用程序,以不同的方式同时显示数千个实体 - 例如在地理地图视图或数据网格中。

这些实体按层次结构组织,因此有各种有意义的实体子组。

此外,地图视图允许您使用lasoo类型工具进行任意选择。

我们需要的是同步所有视图,以便您在一个视图中选择的内容会反映在其他视图中。

这些视图组件中的每一个都不了解彼此。

我正在寻找设计模式和/或开源应用程序,以展示复杂多视图应用程序中项目选择的方法。

1 个答案:

答案 0 :(得分:1)

我会使用event-listener pattern(如果你愿意,可以发布/订阅)

您可以在模型中或视图可以访问的任何其他位置创建类SelectionManager。

所有视图都订阅选择以获取selectionChanged(SelectionEvent e)事件。 活动视图(与之交互的用户)将向SelectionManager报告(发布)此事件,从而触发selectionChanged(SelectionEvent e)。

当视图获得此事件,并且视图不是此事件的源(创建者/发布者)时 - 更新其选择。