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

发布于 2024-10-14 04:43:40 字数 262 浏览 4 评论 0原文

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

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

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

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

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

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

We are currently building an application which visualizes thousands of entities, simultaneously, in different ways - for example in a geographical map view, or in a data grid.

These entities are organized hierarchically, and so there are various meaningful subgrouping of entities.

Also the map view lets you make arbitrary selections using a lasoo-type tool.

What we need is for all views to be synchronized such that what you select in one view is reflected in the others.

Each of these view components do not know about each other.

Im looking for design patterns and/or open source applications which demonstrate approaches to item selction in a complex multi-view app.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

煮酒 2024-10-21 04:43:40

我会使用 事件侦听器模式 (发布/订阅,如果您喜欢)

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

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

当视图获取此事件时,如果视图不是此事件的源(发起者/发布者) - 更新其选择。

I would use an event-listener pattern (publish/subscribe if you like)

You can create class SelectionManager in the model or anywhere else where views could access it.

All views subscribe to selection to get selectionChanged(SelectionEvent e) event.
Active view (the one user interacting with) would be reporting(publishing) this event to the SelectionManager, triggering selectionChanged(SelectionEvent e).

When the view get this event, and if the view is not the source(originator/publisher) of this event - update its selection.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文