首先抱歉我的英文不好! 我在許多Silverlight教程中看到以下內容:Silverlight模型映射和存儲庫模式問題
我們在服務器端有模型,例如Product。 webservice有一個方法,例如Ilist GetProducts(); 在客戶端添加服務引用時生成的產品類。然後,我們將在viewmodels和xaml中使用此產品模型。 但是,如果有人在服務器端進行更改或產品模型更改(例如「名稱」屬性)將會是「NameProperty」,或者任何人嘗試將Web服務更改爲另一個。產品代理類也將在客戶端進行更改,然後我們必須「刷新」使用產品類的視圖模型和綁定等。
這個怎麼樣?:解決
在Silverlight的一邊,我有一個IProduct接口,其中包含了的ViewModels和XAML將使用所有財產。 我做了一個IRepository接口,它有一個IList GetProducts()方法。我實現了這個接口,例如從wcf服務獲取數據的WCFRepository。 GetProduct方法的實現將所有產品映射到IProduct的實現,只需將屬性複製到IProduct的實現。因此,當服務器端的產品發生變化時,我只需更改WCFRepository上的映射。或者,如果我將WCF服務更改爲其他服務,則只需編寫OtherRepository並在GetProducts方法的實現中編寫映射。 在這個解決方案中,視圖和視圖模型不會改變!
我的解決方案呢?我正朝着正確的方向前進?有沒有關於這個的很好的示例,教程,模式?任何關鍵字都會很好! :) 謝謝!