2011-07-29 69 views
0

我正在與Linq一起使用sql,它爲我提供了一些基本類,如汽車。這樣我就可以得到一份汽車清單IQueryableMVVM中的不同型號

這些車,然後由我的業務邏輯處理,成爲CarProcessed有兩個附加屬性,使我有一個的IList

這個IList被我的silverlight應用程序調用,我將在網格中使用這個列表,並根據這個信息做些事情,以根據汽車的類型改變線的顏色。因此,我將獲得CarModel的顏色屬性,我將能夠直接綁定到我的視圖。

這是一個正常的過程?這意味着我沒有使用單個模型,而是使用三個模型。一個用於數據,一個用於業務邏輯,最後一個用於表示層。

你認爲這是正確的嗎?

回答

0

我認爲這取決於。如果你在模型之間進行了一些複雜的轉換,那麼它們會影響性能。否則,由於不同的設備和接口需要不同的演示模型,業務邏輯也管理具有某些屬性而不是UI的實體,數據必須知道它,最終您的數據需要某些特定的轉換堅持和加載,可能需要一些其他的。

然而,嘗試查看諸如DAODTO的常見模式,以查看是否沒有其他人適合您的需求。

另外,請記住,多模型演示如果一個MVVM的優點之一。

+0

感謝,這MVVM模式是給我嚴重懷疑我是否在做正確的事情或不... – Arthis

+0

@Arthis你有沒有計劃製作不同的用戶界面(可能用於不同的設備?) –

+0

是的。我有Silverlight應用程序和郵件輸入/輸出應用程序 – Arthis

0

如果顏色屬性僅用於演示目的,通常不會將其作爲模型的一部分,但爲您顯示CarProcessed對象的控件定義DataTemplate

在這個DataTemplate或DataTemplates樣式中,您定義了一個Trigger,用於檢查CarProcessed的特定條件並相應地設置顏色。

這裏是一個WPF的教程,用的DataTemplates交易的一部分:http://www.codeproject.com/KB/WPF/GuidedTourWPF_4.aspx