design-patterns - 如何在MVP/MVVM支持的GUI应用程序中处理选择

标签 design-patterns mvvm mvp

在使用MVP/MVVM的GUI应用程序中,Presenter/ViewModel表示一个列表/集合,并且可以一次选择一个或多个项目。因为应用程序的其他部分可能会随着选择的更改而改变,所以选择是否需要自己的Presenter/ViewModel?如果不是,给定的主持人如何最好地处理选择?

(这是概念性的,并不特定于Microsoft的WPF等。)

最佳答案

我要说的是,选择项本身不需要自己的presenter/viewmodel,但是包含列表的整个 View 将捕获选择项。

由于您有应用程序的其他部分响应选择,因此这些 View 将具有自己的演示者/ View 模型来处理特定选择。当selection属性更改时,这些其他 View 将接收一个事件。如果您需要基于选择创建一个新 View ,那么我也将有一个Controller来监听此事件。

这种情况通常在复合应用程序和可插入 View 中完成。尽管您无需遵循完全复合的路线,但可以轻松实现这些应用程序使用的EventAggregator模式。

看看其中描述的EventAggreator。尽管它是Prism,但是您可以相对轻松地在应用程序中实现模式。

关于design-patterns - 如何在MVP/MVVM支持的GUI应用程序中处理选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3310957/

相关文章:

android - Android UI 开发是否适合特定的设计模式?

c# - MVVM - 静态 View 模型

c# - 从MVP中的模型子组件返回错误消息

java - GWT:地点和 ActivityMappers 的粒度

Android 架构问题

JavaScript MVC 与 ASP.NET MVC(模式差异)

Python:做 r = random_stuff() 而不是 meets_condition(r)

php - 单例对于微博网站来说是一个好的设计模式吗?

wpf - Caliburn Micro 'Enter' 关键事件

c# - ViewModel 自动具有与通用模型相同的属性