Dot-Net

從 MVC 到 MVVM

  • January 25, 2017

我不想將我的域模型類儲存在與我的 Web 平台相同的程序集中。因此,項目結構中的 Models 文件夾對我來說毫無用處。然而,我剛剛完成了音樂商店教程,並註意到他們如何創建一個“ViewModels”文件夾,這對我來說很有意義。

將 Models 文件夾視為 ViewModels 文件夾是否有意義?很多人都這樣做嗎?有沒有像 MVVM 這樣的模式?

如果您不完全信任您的展示程式碼(或者只是發現這種封裝更優雅),視圖模型可以添加另一個抽象級別。

也就是說,如果您的Person類有Delete方法或SSNumber屬性,您可能不想將此對像傳遞給視圖,因為從概念上講,這使其能夠呼叫 Delete 或顯示 SSN,而它一定不能這樣做。

為了避免這種情況,您創建另一個類 ,PersonViewModel它只包含可以安全地從視圖呼叫的資訊/方法。

這與從 MVC 應用程序中取出模型邏輯無關。無論您是否使用 ViewModel 封裝,您都可以為您的模型創建一個單獨的項目並從您的 Web 應用程序中引用它。到目前為止,我讀過的書鼓勵這樣做。

引用自:https://stackoverflow.com/questions/3731041