可能是一個愚蠢的問題。 但是沒有在模型中使用Display屬性指定標題違反了關注點分離原則?該標題不應該屬於該視圖嗎?模型中的顯示屬性是否違反了從視圖和模型中分離的問題
如果沒有,有人可以解釋爲什麼它屬於模型?
可能是一個愚蠢的問題。 但是沒有在模型中使用Display屬性指定標題違反了關注點分離原則?該標題不應該屬於該視圖嗎?模型中的顯示屬性是否違反了從視圖和模型中分離的問題
如果沒有,有人可以解釋爲什麼它屬於模型?
的MVC框架允許你把DataAnnotations
在模型中,但嚴格講DataAnnotations
應放置在一個視圖模型,而不是在映射到數據庫模型。
不,它不違反該模式,如果它是你的ViewModel。
一個ViewModel是,通常情況下,一個簡單的POCO(普通老式CLR對象) 不包含業務邏輯,大多隻有性能。
@Html.DisplayFor(x => x.MyProperty)
方法將查找顯示屬性 並使用該信息。所以正確的方法是在視圖中使用屬性而不是任何類型的硬編碼文本。
希望這有助於
從視圖中分離出你的領域模型和有貧血域模型(http://en.wikipedia.org/wiki/Anemic_domain_model)之間有一條細線。我個人認爲可以在特定位置公開您的域模型作爲視圖模型的屬性。
我個人對貧血領域模型的看法就是它的責任「促進事務腳本和類似用例之間的代碼重複,減少代碼重用。」
同意,我大部分時間都是這樣做的。 – Romias
+1 - 確切地說DataAnnotations應放置在哪裏(viewModel) –