假設我有一個名爲Customer
的類。現在我需要呈現客戶。所以我創建了CustomerViewModel
用於綁定。我正在尋找創建CustomerViewModel
課程的最佳途徑。以下是我對創建它的想法。在MVVM中創建ViewModel的最佳方法
1 - 在視圖模型上再次創建客戶中的所有屬性。將客戶實例注入視圖模型,並且每個屬性都會重新映射此客戶對象的值。這種方法的好處是我可以爲所有的視圖模型創建一個通用的基類,並且在那裏有共同的功能。缺點將是在視圖模型上再次創建所有屬性並進行維護所需的時間。
2 - 從客戶派生視圖模型。所以我擁有所有視圖模型中的客戶的功能。但是這不會允許我使用一個通用的基類,並將常見的視圖模型邏輯放在那裏。
所以我想知道什麼是最好的方法來創建視圖模型?有沒有比我想象的更好的替代方法?
需要多長時間才能在ViewModel中重複模型屬性?能夠放入一些轉換器或觸發器用於顯示目的,這使得我值得額外的分鐘。如果您有許多控件的複雜視圖,請將模型作爲視圖模型中的屬性添加,並在視圖中綁定到Model.Property。 – adrianm 2009-12-22 07:20:57
我會避開#2。我不認爲你總是會找到一個明確的模型類和ViewModel之間的映射。爲了可維護性,我將與其他一些可能在邏輯上位於Custom模型前面的類一起使用,但也可能將其他模型類型在將來展示給視圖。 – 2009-12-28 17:29:26