我做了一些功课,找不到任何关于何时使用每种方法的最佳实践的文章。
只是为了澄清:
使用事件聚合器模式时 :每个屏幕都有自己的viewmodel引用,viewmodel使用eventtaggregator发布更改,稍后观察者使用它来同步他们的状态。
缓存 ViewModel :每个屏幕都有viewmodel的保存引用,绑定(bind)到view model属性的控件是同步的,
因为应用程序中的每个屏幕都具有相同的 View 模型引用(从缓存中获取它们),所以由于数据绑定(bind),所有屏幕都是同步的。
何时使用每种方法?使用它们每个的优点是什么?
最佳答案
好吧,正如我所见,事件聚合器方法更具可扩展性,并提供了更加解耦的设计。
当可伸缩性不是问题时,单个 VM(或多个 VM 缓存)方法很好,因为随着添加越来越多的 View ,VM 可能会增长到惊人的比例。
总之,事件聚合器方法是经久耐用的系统的“正确”方法,但如果您正在为特定的有限目的和生命周期构建内部工具,则可以使用更简单的方法。
关于.net - 屏幕同步 - 事件聚合器 VS 缓存 ViewModel 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1965695/