最近,我在查看模型(VM)中弄到了我的內褲。與「現場」收藏和特性同步的雙向視圖模型
就像this guy我得出結論,我需要在我的虛擬機上公開的集合通常包含與業務對象上公開的集合不同的類型。
因此,這兩種類型之間必須存在雙向映射或轉換。 (只是爲了讓事情複雜化,在我的項目中,這個數據是「Live」,這樣只要你改變一個屬性,它就會被傳送到其他計算機)
我可以應對這個概念,使用像Truss這樣的框架,儘管我懷疑在某個地方會有令人討厭的驚喜。
不僅必須轉換對象,還需要這兩個集合之間的同步。 (只是爲了使事情複雜化,我可以想到VM集合可能是業務對象集合的一個子集或並集,而不僅僅是1:1同步)的情況。
我可以看到如何使用複製ObservableCollection或類似CLINQ的方法進行單向「實時」同步。
問題就變成:創建/刪除項目的最佳方式是什麼?
雙直接同步似乎並不在卡上 - 我沒有找到這樣的例子,唯一支持遠程支持的類是ListCollectionView。雙向同步甚至會是一種合理的方式來添加回業務對象集合?
我所見過的所有樣本似乎都沒有解決任何「複雜」問題。
所以我的問題是:你如何解決這個問題?是否有一些技術來從虛擬機更新模型集合?什麼是最好的通用方法?
你可以舉一個簡短的例子,哪些集合發生在哪裏?我想我理解你的問題,但不完全。如何使用業務邏輯集合,但在使用它們時使用轉換器?使用包含業務邏輯對象的代理對象集合怎麼樣? – Thorsten79 2010-02-05 13:40:14