最近我遇到了一個非常有問題的問題(或設計約束)。事件聚合器,有趣的設計約束
我正在開發一個使用WPF/Prism構建的應用程序。
和特徵(非常緊迫的客戶要求)的這個程序是打開窗體的多個重複的畫面之一(說多客戶的報名表)。我們使用MVVM模式,因此我們有多個駐留在內存中的VM對象。
現在我們的服務的一個引發事件的發佈,我們的虛擬機訂閱它,因此,所有打開的視圖模型得到了事件通知和statrs執行代碼。
現在這裏在於我們的問題來限制這個,實際上只有VM應該開始執行其實際啓動操作碼。
我認爲,這個問題將與正常事件一樣,並且它實際上是在做有意義的事情來通知所有列表者。
我們已經通過檢查來確定哪個VM啓動操作,只有在獲取通知後虛擬機shd執行代碼。
我的問題是,在這個非常罕見的場景中應該是正確的設計?
我不認爲這是在罕見的情況下所有。我正在做同樣的事情。多份。我還需要正確導航並將這些視圖顯示爲「標籤」。我沒有解決你在談論的問題,但我的想法和米歇爾一樣。爲每個視圖指定一個Guid,並在訂閱/過濾事件時使用它。 – katit