我有一個處理髮貨數據的WPF mvvm應用程序,這包括將其分解爲項目和形式代碼等。全球數據真的那麼糟糕?
但是,我現在面臨的問題是需要了解衆多的viewmodels,哪些項目目前已被選中,該形式等等,以及可以訪問從數據庫中提取的諸如項目之類的數據列表。
現在這個數據被加載,更新,刪除和插入通過我稱爲存儲庫的類。比如ProjectRepository,我的計劃是將加載的數據存儲在這些類中,因此它將包含一個List(其中項目是我的模型),它將公開訪問,而這些存儲庫是靜態的。
所以問題歸結到這一點,Proformas基於當前選定的項目(通過來自數據庫的projectID)加載,因此存儲庫需要知道選擇了哪個項目。我目前的系統使用了自定義事件,這些自定義事件也是爲了捕獲項目選擇中的變化而訂閱的,但是對於我來說,現在我有幾十個事件,每個事件都有幾十個訂戶,並且坦率地說,這使得它很難按照代碼。
所以,對於大量的文本抱歉,我想說清楚我的情況是什麼,並提出我所知道的問題似乎會使一些人感到憤怒。有一個靜態類只是爲所有當前選定的對象(項目,形式表示,裝運等)保留屬性有什麼問題,這將使我的生活變得更容易。
或者有沒有一種「正確」的方式做到這一點,我還沒有看到?
投票似乎有點超過頂部? – BenjaminPaul
我一直問。正如「嗨,VMA,這是VMB。您對財產XYZ的當前價值是多少?」 「富」。 「好的,當你Foo I Bar(),Kthxbai!」當然,VMA需要參考VMB,但是由於它們根據其邏輯需求彼此交互,這有什麼壞處? – Will
這實際上是我從未想過要做的事情。我想這種方法似乎沒有錯,除了一些虛擬機需要引用多個其他虛擬機,並且可能會變得混亂。 – Ben