在相关视图之间共享数据的良好模式是什么?视图之间共享数据的模式(MVP或MVVM)
我有一个应用程序,其中1个窗体包含许多小视图,每个视图或多或少相互独立(它们通过事件总线进行通信/交互)。每隔一段时间我需要将相同的对象传递给子视图。有时我需要将同一个对象传递给子视图,然后将子对象传递给另一个子对象本身。
什么是在父窗体(视图)中包含的所有视图之间共享此数据的好方法?
我已经看过CAB和他们的方法,并且每个“视图”都有一个“根工作项目”,这个工作项目包含包含视图之间共享“状态”的字典。
这是最好的方法吗?只是一个共享字典根视图下的所有视图都可以访问?
我现在的方法是在视图上有一个函数,允许为该视图设置对象。像
view.SetCustomer(Customer c);
东西那么如果视图包含子视图它知道来设置它的子视图ALA:
this.childview1.SetCustomer(c);
的应用程序是用C#3.5,使用MVP与结构图的WinForms作为IoC/DI提供商。
我现在正在使用介体模式与事件系统的变体。基本上是在加载共享数据时触发事件,因此需要的视图将获取并使用它。谢谢。 – Dovix 2010-06-18 23:39:56