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

Design patterns 如何处理MVP/MVVM支持的GUI应用程序中的选择,design-patterns,mvvm,mvp,Design Patterns,Mvvm,Mvp,在使用MVP/MVVM的GUI应用程序中,假设Presenter/ViewModel显示一个列表/集合,一次可以选择一个或多个项目。由于应用程序的其他部分可能会随着选择的更改而更改,因此选择是否需要自己的Presenter/ViewModel?如果不是,如何最好地由给定的演示者处理选择 (这是概念性的,不特定于Microsoft的WPF等。)我想说,在选择本身中,它不需要自己的presenter/viewmodel,但包含列表的整体视图将捕获选择内容 由于应用程序的其他部分响应选择,因此这些视图

在使用MVP/MVVM的GUI应用程序中,假设Presenter/ViewModel显示一个列表/集合,一次可以选择一个或多个项目。由于应用程序的其他部分可能会随着选择的更改而更改,因此选择是否需要自己的Presenter/ViewModel?如果不是,如何最好地由给定的演示者处理选择


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

我想说,在选择本身中,它不需要自己的presenter/viewmodel,但包含列表的整体视图将捕获选择内容

由于应用程序的其他部分响应选择,因此这些视图将有自己的presenter/viewmodel来处理特定选择。当选择属性更改时,这些其他视图将收到一个事件。如果您需要根据选择创建一个新视图,我也会让一个控制器监听此事件

此场景通常在复合应用程序和可插入视图中完成。尽管您不需要走完全复合的路线,但可以轻松实现这些应用程序使用的
EventAggregator
模式


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

图书库示例应用程序演示了如何处理MVVM应用程序中的选择