在相關視圖之間共享數據的良好模式是什麼?視圖之間共享數據的模式(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